Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update #301

Open
amdasilva opened this issue Feb 11, 2025 · 3 comments
Open

Update #301

amdasilva opened this issue Feb 11, 2025 · 3 comments
Assignees
Labels
0 diff The changes in this pull request have verified to be zero-diff with the target branch.

Comments

@amdasilva
Copy link
Collaborator

amdasilva commented Feb 11, 2025

Background

When implementing the AOP (Aerosol Optical Properties) module in pyobs it became evident that existing ordering of the array dimensions in the netcdf Mie LUT tables was somewhat inefficient. This prompted the adoption of a revision of these tables.

The versions of the LUT does not refer to the revision of the values in each table, but rather to the structure of the netCDF files containing these tables

v0.0.0: original file structure, e.g.

qext(radius, rh, lambda) 
pmom(nPol, nMom, radius, rh, lambda) 

v1.0.0: dimension ordering has been updated for cache optimization (use case: radiation and RT calculations).
The following dimensions have been renamed: lambda --> wavelength, radius --> bin.

qext(bin,wavelength, rh)
pmom(bin,wavelength, rh, p, m)

This utility can be used to convert v0.0.0 files to v1.0.0:

https://github.com/GEOS-ESM/GMAOpyobs/blob/develop/src/utils/aop_0to1

New Tables on Discover

Optical tables v1.0.0 can be found on discover at:

/discover/nobackup/projects/gmao/share/dasilva/fvInput/ExtData/chemistry/AerosolOptics/v1.0.0

Update GOCART to work with MieTables v1.0.0

The Fortran code in Process_Library/GOCART2G_MieMod.F90 needs to be updated to work with the dimension ordering of tables v1.0.0.

Testing

This is a zero-diff mod. Start with GOCART under develop, which reads v.0.0 tables, make a short one day run, saving aer_Nx files. Modify the code to work with tables v1.0.0 and make sure the aer_Nx files are zero-diff.

@amdasilva amdasilva added 0 diff trivial The changes in this pull request are trivially zero-diff (documentation, build failure, &c.) 0 diff The changes in this pull request have verified to be zero-diff with the target branch. and removed 0 diff trivial The changes in this pull request are trivially zero-diff (documentation, build failure, &c.) labels Feb 11, 2025
@weiyuan-jiang
Copy link
Contributor

I cannot find the variable qext in the develop branch. @amdasilva

@weiyuan-jiang
Copy link
Contributor

@amdasilva , Is it just pmom ? I think all the variables should change.

@weiyuan-jiang
Copy link
Contributor

In this data structure block, all the variables' dimension reflecting the order in the file. Should we change the pmom too ?pmom

I suggest pmom ( m, p, r, c, b) @amdasilva

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0 diff The changes in this pull request have verified to be zero-diff with the target branch.
Projects
None yet
Development

No branches or pull requests

2 participants