Skip to content

create minimal conda yml file#104

Open
vickimzhang wants to merge 1 commit intodevfrom
vz-update-conda-yml
Open

create minimal conda yml file#104
vickimzhang wants to merge 1 commit intodevfrom
vz-update-conda-yml

Conversation

@vickimzhang
Copy link
Collaborator

increment conda environment version and create minimalist yml file using versions indicated in script. built in Linux and Windows, both work

@shreeramsenthi
Copy link
Collaborator

That seems like a reasonable change! I only have two concerns:

  • If the goal of the conda environment is to make the environments totally consistent across machines, this could lead to inconsistent implicit dependency versions
  • Not providing versions for the implicit dependencies means that conda will need to resolve the version conflicts on each individual machine which (I think) would slow down the installation

Is this still a good idea despite that? It would be nice if this cleared out any unneeded dependencies and helped reduced the install size.

The other thing I was hoping to do was to upgrade the r-arrow dependency to v22.0 and see if there are any newer versions of terra available for conda + windows yet. Would you have time to do that? No worries if not.

@vickimzhang
Copy link
Collaborator Author

@shreeramsenthi Good points! I think you're right that installation will likely slow given minimally explicit dependencies - will have to check with Katie about the concerns on implicit dependency versions. However, yes, I do have time to update the r-arrow dependency, and will push for you to review. Just a note that last I checked (December), there was still no newer version of terra available for Windows, but will check that as well.

@shreeramsenthi
Copy link
Collaborator

Thanks a bunch! And yeah, I guess that's to be expected on the terra front. It's a longer term goal, but we could start looking at alternatives to terra since we only use it for reading / writing rasters. I think all the heavy lifting is already directly on parquet files and sf.

Any thoughts on that @BadgerOnABike ?

@vickimzhang
Copy link
Collaborator Author

Just following up - I couldn't upgrade the r-arrow dependency to 22.0.0, as it is incompatible with the current available version of r-terra on Windows (so r-rsyncrosim and r-base are also stuck in older versions).

@shreeramsenthi
Copy link
Collaborator

Good to know! That's a little too bad since there appears to be some noticeable memory improvements in 22.0, but performance is already noticeably better with the newer terra anyway. Just one more reason to try to move away from terra or suggest users not use conda, I guess.

@katieb1
Copy link
Contributor

katieb1 commented Jan 14, 2026

@shreeramsenthi , agreed that the new conda env creation will probably be slower, but as it is right now the conda env can't be built on linux because the explicit dependencies are specific to Windows. The conda env creation is hopefully something that people just have to do once, so I'm thinking that the slow-down in the initial creation is worth the compatibility with linux. We're currently doing this for all the SyncroSim packages that use conda environments as we move more towards running our models on linux.

For BurnP3+, it probably makes sense for people to avoid conda anyway, but at least with this minimal yml file they have the option to build on linux if they want. We're also making plans to remove the terra dependency from rsyncrosim because it's causing so many issues. I know BurnP3+ uses terra independently of rsyncrosim though, so that still doesn't really fix the problem with the BurnP3+ conda env unless we decided to also remove terra from BurnP3+...

@shreeramsenthi
Copy link
Collaborator

That makes sense to me! I guess the only other consideration might be reproducibility in case a new version of a package includes a breaking change, but I don't think that's too likely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants