-
Notifications
You must be signed in to change notification settings - Fork 38
Complete CCPPization of BAM/MAM aerosol optics; BAM microp_aero (nucleate_ice; ndrop_bam; inline logic in microp_aero) #398
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
Open
jimmielin
wants to merge
50
commits into
ESCOMP:main
Choose a base branch
from
jimmielin:hplin/bulk_aero_3_rebased_on_main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
50 commits
Select commit
Hold shift + click to select a range
64ae5c8
Initial push for wiring up aerosol optics to rrtmgp via abstract aero…
hplin-ucar 03bc889
Add rebin_seasalt to rebin 4-bin bam prescribed sslt01/2/3/4 to sslta…
hplin-ucar 416d7df
Port changes from Francis Vitt: CAM#1500 Fix issue with aerosol optic…
hplin-ucar e540186
Various cleanup to move host dependencies out of aerosol_optics CCPP …
hplin-ucar 6b64114
Remove read_water_refindex and move to init phase of aerosol_optics C…
hplin-ucar 63bb88e
Fix diag move
hplin-ucar aa40fc9
Specify lbound for active_calls due to Fortran standard assuming 1 fo…
hplin-ucar 1db5f77
Fix implicit SAVE by assignment of variable at declaration in Fortran
hplin-ucar 22e70db
Fix some logic on refwater idx; add zero stub for rrtmgp snapshot tes…
hplin-ucar 4961c59
Fix whitespace
hplin-ucar 85ffa76
Draft ndrop_bam, nucleate_ice_ccpp for microp_aero_bam suite
hplin-ucar 10b03d8
Add ccpp subdir to avoid ccpp schemes compiling in CAM
hplin-ucar 21c6bcb
Move the shared subgrid vertical velocity schemes back since they are…
hplin-ucar 6032622
Fill some meta.. continued for wsub/wsubi compute/scale, ndrop_bam_cc…
hplin-ucar 9e6090d
Keep filling meta...
hplin-ucar fdc2d8c
Build fixes
hplin-ucar 48b4bf9
Add dust_default_radii scheme
hplin-ucar 67813c1
Add initialize_pbuf_aerosols for abstract interface to discover aeros…
hplin-ucar dcd2efa
Use WP2/CLUBB variant for computing wsub, wsubi.
hplin-ucar f5ced75
Update to cam64_167
hplin-ucar 38ba2f8
Comment update about CAM behavior
hplin-ucar 30ca29d
Cleanup errmsg len; add diagnostic schemes
hplin-ucar 3cd6d75
Fix dynamic constituent allocation - unallocated when disabled is not…
hplin-ucar e7cb6b4
Populate CAM7 suite with microp_aero (BAM/nochem)
hplin-ucar 1372346
Merge branch 'main' into hplin/bulk_aero_3_rebased_on_main
hplin-ucar 825c87a
Rename aerosol_mmr_ccpp -> host for consistent name across host models.
hplin-ucar 4d3fdd7
Fix B4B issue in uw pbl due to numliq now having a standard name.
hplin-ucar f337d2d
Merge branch 'main' into hplin/bulk_aero_3_rebased_on_main
hplin-ucar 8ad571b
Merge upstream/main (atmos_phys0_26_000) into hplin/bulk_aero_3_rebas…
7225d69
Support volcanic_radius for modal cases
28399e5
Update tke standard name.
c5b5524
Address automated code review comments.
6cd934c
Merge atmospheric_physics main (9865ef6: ccpp_scheme_utils in prescri…
1d7906b
Update aerosol_optics to the new aerosol_state wet_volume/water_volum…
18ef9e6
Exclude cloud-borne (_c1..._c4) modal species from vertical diffusion.
ea2c165
Set scheme_name from nucleate_ice for downstream qneg labeling.
dc9a0e4
Document mutual exclusion of prescribed_volcanic_aerosol (BAM) with t…
b9b4af8
Add compute_relative_humidity scheme for aerosol_optics in cam7.
de300ad
Rename nucleate_ice_ccpp local ni to num_ice.
533fdac
Merge branch 'main' into hplin/bulk_aero_3_rebased_on_main
hplin-ucar f9a4dfb
Update correct defaults for aquap
hplin-ucar 3332223
Use ccpp_scheme_utils on rebin_seasalt
hplin-ucar 9671361
Address review comments
hplin-ucar 4d8eb81
Further simplify the nucleate_ice_ccpp code now that everything is a …
hplin-ucar 3d67883
Merge remote-tracking branch 'upstream/main' into hplin/bulk_aero_3_r…
hplin-ucar bf22c5e
Sweep standard names to PUMAS round 3 dialect
hplin-ucar a5f214d
Match suite_cam7 PUMAS ordering to canonical cam7 physpkg.F90
hplin-ucar 760b62f
Wire BAM microp_aero into suite_cam5 ahead of PUMAS
hplin-ucar 2b4b207
Address review comments
hplin-ucar d54e767
Fix Fortitude linting issues
hplin-ucar File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,269 @@ | ||
| [ccpp-table-properties] | ||
| name = aerosol_optics | ||
| type = scheme | ||
|
|
||
| [ccpp-arg-table] | ||
| name = aerosol_optics_init | ||
| type = scheme | ||
| [ water_refindex_file ] | ||
| standard_name = filename_of_water_refractive_index_data | ||
| units = none | ||
| type = character | kind = len=* | ||
| dimensions = () | ||
| intent = in | ||
| [ nswbands ] | ||
| standard_name = number_of_bands_for_shortwave_radiation | ||
| units = count | ||
| type = integer | ||
| dimensions = () | ||
| intent = in | ||
| [ nlwbands ] | ||
| standard_name = number_of_bands_for_longwave_radiation | ||
| units = count | ||
| type = integer | ||
| dimensions = () | ||
| intent = in | ||
| [ num_bulk_aer ] | ||
| standard_name = number_of_bulk_aerosol_constituents_in_climate_radiative_aerosol_list | ||
| units = count | ||
| type = integer | ||
| dimensions = () | ||
| intent = out | ||
| [ errmsg ] | ||
| standard_name = ccpp_error_message | ||
| units = none | ||
| type = character | kind = len=* | ||
| dimensions = () | ||
| intent = out | ||
| [ errflg ] | ||
| standard_name = ccpp_error_code | ||
| units = 1 | ||
| type = integer | ||
| dimensions = () | ||
| intent = out | ||
|
|
||
| [ccpp-arg-table] | ||
| name = aerosol_optics_run | ||
| type = scheme | ||
| [ ncol ] | ||
| standard_name = horizontal_loop_extent | ||
| units = count | ||
| type = integer | ||
| dimensions = () | ||
| intent = in | ||
| [ pver ] | ||
| standard_name = vertical_layer_dimension | ||
| units = count | ||
| type = integer | ||
| dimensions = () | ||
| intent = in | ||
| [ nswbands ] | ||
| standard_name = number_of_bands_for_shortwave_radiation | ||
| units = count | ||
| type = integer | ||
| dimensions = () | ||
| intent = in | ||
| [ nlwbands ] | ||
| standard_name = number_of_bands_for_longwave_radiation | ||
| units = count | ||
| type = integer | ||
| dimensions = () | ||
| intent = in | ||
| [ top_lev ] | ||
| standard_name = vertical_layer_index_of_aerosol_model_top | ||
| units = index | ||
| type = integer | ||
| dimensions = () | ||
| intent = in | ||
| [ rga ] | ||
| standard_name = reciprocal_of_gravitational_acceleration | ||
| units = s2 m-1 | ||
| type = real | kind = kind_phys | ||
| dimensions = () | ||
| intent = in | ||
| [ idx_sw_diag ] | ||
| standard_name = index_of_shortwave_band | ||
| units = index | ||
| type = integer | ||
| dimensions = () | ||
| intent = in | ||
| [ num_bulk_aer ] | ||
| standard_name = number_of_bulk_aerosol_constituents_in_climate_radiative_aerosol_list | ||
| units = count | ||
| type = integer | ||
| dimensions = () | ||
| intent = in | ||
| [ relh ] | ||
| standard_name = relative_humidity | ||
| units = fraction | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent, vertical_layer_dimension) | ||
| intent = in | ||
| [ pdeldry ] | ||
| standard_name = air_pressure_thickness_of_dry_air | ||
| units = Pa | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent, vertical_layer_dimension) | ||
| intent = in | ||
| [ t ] | ||
| standard_name = air_temperature | ||
| units = K | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent, vertical_layer_dimension) | ||
| intent = in | ||
| [ pmid ] | ||
| standard_name = air_pressure | ||
| units = Pa | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent, vertical_layer_dimension) | ||
| intent = in | ||
| [ h2ommr ] | ||
| standard_name = water_vapor_mixing_ratio_wrt_moist_air_and_condensed_water | ||
| units = kg kg-1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent, vertical_layer_dimension) | ||
| intent = in | ||
| [ cldn ] | ||
| standard_name = cloud_area_fraction | ||
| units = fraction | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent, vertical_layer_dimension) | ||
| intent = in | ||
| [ constituents ] | ||
| standard_name = ccpp_constituents | ||
| units = none | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent, vertical_layer_dimension, number_of_ccpp_constituents) | ||
| intent = in | ||
| [ aer_tau ] | ||
| standard_name = shortwave_aerosol_extinction_optical_depth | ||
| units = 1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent, vertical_layer_dimension, number_of_bands_for_shortwave_radiation) | ||
| intent = out | ||
| [ aer_tau_w ] | ||
| standard_name = shortwave_aerosol_single_scattering_albedo_times_optical_depth | ||
| units = 1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent, vertical_layer_dimension, number_of_bands_for_shortwave_radiation) | ||
| intent = out | ||
| [ aer_tau_w_g ] | ||
| standard_name = shortwave_aerosol_asymmetry_parameter_times_single_scattering_albedo_times_optical_depth | ||
| units = 1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent, vertical_layer_dimension, number_of_bands_for_shortwave_radiation) | ||
| intent = out | ||
| [ aer_lw_abs ] | ||
| standard_name = longwave_aerosol_absorption_optical_depth | ||
| units = 1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent, vertical_layer_dimension, number_of_bands_for_longwave_radiation) | ||
| intent = out | ||
| [ dustaod ] | ||
| standard_name = aerosol_optical_depth_from_dust | ||
| units = 1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ sulfaod ] | ||
| standard_name = aerosol_optical_depth_from_sulfate | ||
| units = 1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ bcaod ] | ||
| standard_name = aerosol_optical_depth_from_black_carbon | ||
| units = 1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ pomaod ] | ||
| standard_name = aerosol_optical_depth_from_primary_organic_matter | ||
| units = 1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ soaaod ] | ||
| standard_name = aerosol_optical_depth_from_secondary_organic_aerosol | ||
| units = 1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ ssltaod ] | ||
| standard_name = aerosol_optical_depth_from_seasalt | ||
| units = 1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ aodabsbc ] | ||
| standard_name = absorption_aerosol_optical_depth_from_black_carbon | ||
| units = 1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ burdendust ] | ||
| standard_name = column_burden_from_dust | ||
| units = kg m-2 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ burdenso4 ] | ||
| standard_name = column_burden_from_sulfate | ||
| units = kg m-2 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ burdenbc ] | ||
| standard_name = column_burden_from_black_carbon | ||
| units = kg m-2 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ burdenpom ] | ||
| standard_name = column_burden_from_primary_organic_matter | ||
| units = kg m-2 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ burdensoa ] | ||
| standard_name = column_burden_from_secondary_organic_aerosol | ||
| units = kg m-2 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ burdenseasalt ] | ||
| standard_name = column_burden_from_seasalt | ||
| units = kg m-2 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ ssavis ] | ||
| standard_name = aerosol_single_scatter_albedo_at_vis | ||
| units = 1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ aodvis ] | ||
| standard_name = aerosol_optical_depth_at_vis | ||
| units = 1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent) | ||
| intent = out | ||
| [ odv_col_aod ] | ||
| standard_name = column_visible_optical_depth_per_bulk_aerosol | ||
| units = 1 | ||
| type = real | kind = kind_phys | ||
| dimensions = (horizontal_loop_extent, number_of_bulk_aerosol_constituents_in_climate_radiative_aerosol_list) | ||
| intent = out | ||
| [ errmsg ] | ||
| standard_name = ccpp_error_message | ||
| units = none | ||
| type = character | kind = len=* | ||
| dimensions = () | ||
| intent = out | ||
| [ errflg ] | ||
| standard_name = ccpp_error_code | ||
| units = 1 | ||
| type = integer | ||
| dimensions = () | ||
| intent = out | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,93 @@ | ||
| <?xml version="1.0"?> | ||
|
|
||
| <?xml-stylesheet type="text/xsl"?> | ||
|
|
||
| <entry_id_pg version="2.0"> | ||
|
|
||
| <!-- Each namelist variable is defined in an <entry> element. The | ||
| content of the element is the documentation of how the variable is | ||
| used. Other aspects of the variable's definition are expressed as | ||
| attributes of the <entry> element. Note that it is an XML requirement | ||
| that the attribute values are enclosed in quotes. The attributes are: | ||
|
|
||
| id | ||
| The variable's name. *** N.B. *** The name must be lower case. | ||
| The module convert all namelist variable names to lower case | ||
| since Fortran is case insensitive. | ||
|
|
||
| type | ||
| An abbreviation of the fortran declaration for the variable. | ||
| Valid declarations are: | ||
|
|
||
| char*n | ||
| integer | ||
| logical | ||
| real | ||
|
|
||
| Any of these types may be followed by a comma separated list of | ||
| integers enclosed in parenthesis to indicate an array. | ||
|
|
||
| The current namelist validation code only distinquishes between | ||
| string and non-string types. | ||
|
|
||
| input_pathname | ||
| Only include this attribute to indicate that the variable | ||
| contains the pathname of an input dataset that resides in the | ||
| CESM inputdata directory tree. Note that the variables | ||
| containing the names of restart files that are used in branch | ||
| runs don't reside in the inputdata tree and should not be given | ||
| this attribute. | ||
|
|
||
| The recognized values are "abs" to indicate that an absolute | ||
| pathname is required, or "rel:var_name" to indicate that the | ||
| pathname is relative and that the namelist variable "var_name" | ||
| contains the absolute root directory. | ||
|
|
||
| category | ||
| A category assigned for organizing the documentation. | ||
|
|
||
| group | ||
| The namelist group that the variable is declared in. | ||
|
|
||
| valid_values | ||
| This is an optional attribute that is mainly useful for variables | ||
| that have only a small number of allowed values. It is a | ||
| comma-separated list of valid values for the variable. | ||
|
|
||
| desc | ||
| This is a text description of the variable including its | ||
| purpose and use. | ||
|
|
||
| values | ||
| This is a grouping of all the cases where a value can be | ||
| assigned with the namelist generator has been run. | ||
|
|
||
| value | ||
| Each <value> tag specifies a case where a value is assigned | ||
| to this variable when the namelist generator is run. If the | ||
| tag has no attributes, it is a default value. In general, | ||
| the namelist generator attempts to find a value with the | ||
| maximium number of attribute matches (and no non-matches). | ||
|
|
||
| standard_name | ||
| This is the CCPP Standard Name of the variable | ||
|
|
||
| units | ||
| This is the CCPP unit specification of the variable (e.g., m s-1). | ||
| --> | ||
|
|
||
| <entry id="water_refindex_file"> | ||
| <type>char*512</type> | ||
| <category>radiation</category> | ||
| <group>aerosol_optics_nl</group> | ||
| <standard_name>filename_of_water_refractive_index_data</standard_name> | ||
| <units>none</units> | ||
| <desc> | ||
| Full pathname of dataset for water refractive indices used in aerosol optics. | ||
| </desc> | ||
| <values> | ||
| <value>${DIN_LOC_ROOT}/atm/cam/physprops/water_refindex_rrtmg_c080910.nc</value> | ||
| </values> | ||
| </entry> | ||
|
|
||
| </entry_id_pg> |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.