Skip to content

Conversation

@ewquon
Copy link
Contributor

@ewquon ewquon commented Sep 4, 2025

  • Remove tons of duplicated code
  • Refactor and cleanup for clarity and maintainability
  • Update package information (pyproject.toml instead of setup.py)
  • Automate command-line script generation

for "simple" ERF output format
Note: these two write functions are mostly identical
for backwards compatibility with clearer names:

- `write_binary_vtk_on_native_grid`
  (formerly `write_binary_vtk_structured_grid`)
- `write_binary_vtk_on_cartesian_grid`
  (formerly `write_binary_vtk_structured_file`)
Also, remove legacy setup.py; warn if no cdsapi installed
@ewquon ewquon marked this pull request as draft September 4, 2025 19:56
ewquon added a commit to ewquon/erftools that referenced this pull request Sep 19, 2025
ewquon added a commit that referenced this pull request Sep 19, 2025
* Allow single dx,dy input

* Cleanup code with RealInit

* Fix timestep parsing logic; fix output intervals

* Add more output params, including auxhist2

* refinement_indicators already a list

* Revert to level 2.5 and add note about MYNN

* Update mp_physics input mapping

* Update log info

* Fix unknown param warning

* Rename MOST bc to SurfaceLayer

* Always write out erf.plt_file_1 sampling

* Add comment about default smag Cs

* Handle multiple wrfinput files

* Dont warn about additional nc_init_files

* Correctly output Smag2D opt

* Output max_level for each nest

* Parse lsm physics from wrf

* Fix nest indexing

* No need to output default substepping type

* Revert to SLM for usability at the moment

* Fix sfclay name

* Change default terrain_smoothing option

* amr.regrid_int --> erf.regrid_int

* Change output name to be automatically detected by paraview

* Add more flexible ascii output

* Correctly output terrain grids for different domains

* Rename for clarity

* Reorg modules for clarity

* Cherry pick pyproject.toml, README from PR #36

* Create wrf_namelist_to_erf console script

* Make datetime parsing more robust

* Fix handling of default plot vars

* Update mp_physics mappings

* Fix syntax

* Add radiation params; estiamte rad_freq_in_steps if needed

* Remove deprecated param

* Generalize o3vmr to be constant or column array

* Add check_erf_input script

* Add --tslist option to namelist converter

* Add CAM ozone data and notebook to process and check it

from WRF/run:
- ozone_lat.formatted
- ozone_plev.formatted
- ozone.formatted

* Add function to calculate interp weights for monthly data

Following `ozn_time_int` in WRF/phys/module_radiation_driver.F

Verified that the python version of ozn_time_int matches the original
fortran to machine double precision. Interpolating using the new
`monthly_interp_weights_from_date` is identical to the python port

* Add utils for getting zcc from an inputfile; estimating p(z)

* Add new radiation interp functions

* Make ERFParms start/stop datetime parms consistent with ERF

* More robust datetime input handling

* Create generate_ozone_profile script

* Add option to read in wrfinput WRFInputDeck.__init__; scrape map attrs

* Split console script into separate interp_ozone function; call to update erf.o3vmr

* Automatically calculate O3 profile
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.

1 participant