Skip to content

Fix TEMPO aerosol initialization #69

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

Merged

Conversation

AndersJensen-NOAA
Copy link
Collaborator

This PR fixes issue where initial water- and ice-friendly aerosol values from the RAP model are being overwritten by the monthly climatology. This PR adds logic to allow users to use either initial aerosols from a first guess model field if they exist or values from a monthly climatology.

To use RAP aerosol initial conditions, set config_tempo_rap = .true. in preproc_stages. If first guess values do not exist (global max values of zero), then the monthly climatology will be used as a backup.

…AP or

the monthly climatology data.

 * Adds a config variable, config_tempo_rap, to the core_init_atmosphere
   Registry that must be set to true in the init_atmosphere namelist
   to use RAP aerosols.

 * Adds a logical function that check for config_tempo_rap = true and
   non-zero values of nwfa and nifa from RAP. This function will control
   whether to use RAP aerosols or the monthly climatology.
information from the first guess field (e.g., RAP) instead of the
monthly climatology. This aerosol information, nwfa and nifa, is needed
for the aerosol-aware TEMPO microphysics.
Use_rap_aerosols will now check for existing aerosols in the initial conditions
if lbc_state is not present. Otherwise, it will check for existing aerosols
in lbc_state (lateral boundary condition data type)
lbc_state.

 * For qv, the lbc index is changed from index_qv to index_lbc_qv
   and state is changed to lbc_state

 * This is done for all LBC variables

 * Fixes a bug that caused an LBC variable (nwfa) to populate
   the incorrect variable name (lbc_nccn) since index_nwfa is
   NOT equal to index_lbc_nwfa
@daviddowellNOAA
Copy link

Thanks @AndersJensen-NOAA for adding options for how to initialize water- and ice-friendly aerosols, and for debugging and testing. I just ran tests with the CONUS 3-km MPAS domain, and results are good. Aerosol initialization is working for all of the following situations:

(1) Initial conditions produced from a parent model that provides aerosols (config_tempo_rap = true)
(2) Initial conditions produced from monthly climatology when the parent model doesn't provide aerosols (config_tempo_rap = true but aerosols from the parent model are zero everywhere)
(3) Initial conditions produced from monthly climatology, as requested in the namelist (config_tempo_rap = false)
(4) Lateral boundary conditions produced from a parent model that provides aerosols, enabled with config_tempo_rap = true

@AndersJensen-NOAA AndersJensen-NOAA marked this pull request as ready for review November 15, 2024 17:26
@AndersJensen-NOAA AndersJensen-NOAA changed the title Fix TEMPO aerosol initializtion Fix TEMPO aerosol initialization Nov 15, 2024
@@ -771,8 +771,8 @@ subroutine init_atm_thompson_aerosols_lbc(timestamp,timestart,block,mesh,diag,st
call mpas_pool_get_dimension(mesh,'nVertLevels' ,nVertLevels )
call mpas_pool_get_dimension(mesh,'nMonths' ,nMonths )

call mpas_pool_get_dimension(state,'index_nifa',index_nifa)
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a change to NCAR's code. I emailed Laura Fowler about this change.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you hoping to hear back before this is merged?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has now been merged into NCAR's 8.2.3:
MPAS-Dev#1249

@jderrico-noaa jderrico-noaa merged commit 26ef990 into ufs-community:gsl/develop Nov 20, 2024
ghost pushed a commit that referenced this pull request Feb 11, 2025
* Adds code to determine whether to use aerosols (nwfa and nifa) from RAP or
the monthly climatology data.

 * Adds a config variable, config_tempo_rap, to the core_init_atmosphere
   Registry that must be set to true in the init_atmosphere namelist
   to use RAP aerosols.

 * Adds a logical function that check for config_tempo_rap = true and
   non-zero values of nwfa and nifa from RAP. This function will control
   whether to use RAP aerosols or the monthly climatology.

* Modifies logic for creation of ICs/LBCs so that users can use aerosol
information from the first guess field (e.g., RAP) instead of the
monthly climatology. This aerosol information, nwfa and nifa, is needed
for the aerosol-aware TEMPO microphysics.

* Adds optional argument lbc_state to the use_rap_aerosols function

Use_rap_aerosols will now check for existing aerosols in the initial conditions
if lbc_state is not present. Otherwise, it will check for existing aerosols
in lbc_state (lateral boundary condition data type)

* Fix missing parentheses in if statement

* Initialize tempo_aerosolaware package so that nwfa and nifa
can be added to IC/LBC files.

* Changes lbc code to use lbc-specific indexes when adding variables to
lbc_state.

 * For qv, the lbc index is changed from index_qv to index_lbc_qv
   and state is changed to lbc_state

 * This is done for all LBC variables

 * Fixes a bug that caused an LBC variable (nwfa) to populate
   the incorrect variable name (lbc_nccn) since index_nwfa is
   NOT equal to index_lbc_nwfa

* Fix typos
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.

Aerosols from parent model are overwritten by aerosols from the climatology file
5 participants