Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
1aa6da8
Added options for enthalpy correction programmed by indicate Peter La…
Jun 14, 2025
b37fff0
Bug correction for enthalpy update
Jun 15, 2025
7882dca
Moved micro_pumas_cam.F90 to cam7 directory to better facilitate merging
Jun 17, 2025
f872aa3
Merge remote-tracking branch 'origin/noresm_develop' into CAM_eneplus…
Jun 18, 2025
f9238de
Added untis to new parameters when relevant
Jun 20, 2025
258f91a
Merge remote-tracking branch 'origin/noresm_develop' into CAM_eneplus…
Jul 3, 2025
fa61489
first set of refactors for cam cam computing enthalpy over ocean to s…
mvertens Aug 16, 2025
b9a462b
refactored air_composition
mvertens Aug 16, 2025
31d5ede
refactored src/control/camsrfexch.F90
mvertens Aug 16, 2025
603d4f4
refactor of qneg_module such that seflx is now an optional argument
mvertens Aug 17, 2025
d4d5533
cleanup of comments and indentation
mvertens Aug 21, 2025
dede6ad
updated oslo_aero in .gitmodules to point to mvertens fork
mvertens Aug 21, 2025
9147bed
removed zm_conf*.F90 files
mvertens Aug 21, 2025
fe24b6e
Merge tag 'noresm3_0_015_cam6_4_085' into feature/cam_computes_enthalpy
mvertens Sep 16, 2025
adb03c1
pointed to a hash of oslo_aero rather than a branch
mvertens Sep 17, 2025
9eacdc2
add dp_ntprp and dp_ntsnp back into pbuf - needed for enthalpy check_…
mvertens Sep 27, 2025
1eeab2c
remove compute_enthalpy_flux as a cam namelist variable - get config …
mvertens Sep 27, 2025
52bb15e
cleaned comments
mvertens Sep 27, 2025
c43b344
handling compute_enthalpy_from_atm consistently now
mvertens Sep 28, 2025
a7614ce
moved physics/camnor/physics/cam_diagnostics.F90 to physics/cam/cam_d…
mvertens Sep 28, 2025
597b6f0
moved physics/camnor_phys/physics/cam_thermo.F90 to utils/cam_thermo.F90
mvertens Sep 28, 2025
31ae178
udpated src/physics/cam/check_energy.F90 and removed src/physics/camn…
mvertens Sep 29, 2025
004c3a6
removed state%hflx_ac and state%hflx_bc for now - since they were res…
mvertens Sep 30, 2025
a440147
fixed order of dependence on compute_canopy_fluxes
mvertens Sep 30, 2025
23574d5
removed state%hflx_bc and state%hflx_ac since they cause aborts in DE…
mvertens Sep 30, 2025
d11f78a
major refactoring of physics_types
Oct 1, 2025
6e26f5d
fix compiler issue
mvertens Oct 1, 2025
c26c3b9
removal of state and tend references in dme_adjust_camnor.F90
Oct 1, 2025
2ecc510
fixed compile problems
Oct 1, 2025
992188b
fixed compiler problem
Oct 1, 2025
663b63d
fixed compiler problem
Oct 1, 2025
82cc1d3
fixed compiler problem
Oct 1, 2025
f89650b
fixed compiler problem
Oct 1, 2025
613958e
fixed compiler problem
Oct 1, 2025
8392aab
fixed compiler problem
Oct 1, 2025
6ba79c4
fixed compiler problem
Oct 1, 2025
70e763c
fixed compiler problem
Oct 1, 2025
cb2c254
fixed compiler problem
Oct 1, 2025
9f4f283
fixed compiler problem
Oct 1, 2025
715155f
fixed compiler problem
Oct 1, 2025
a99df1f
fixed compiler problem
Oct 1, 2025
e21b135
fixed compiler problem
Oct 1, 2025
563c237
add compute_enthalpy_flux correctly to advertise phase
mvertens Oct 2, 2025
400de7b
fixed compiler problem
Oct 3, 2025
11e32b6
fixed compiler problem
Oct 3, 2025
202df9d
fixed compiler problem
Oct 3, 2025
8298486
fixed compiler problem
Oct 3, 2025
27e626c
fixed compiler problem
Oct 3, 2025
339aaab
fixed compiler problem
Oct 3, 2025
c07771e
fixed compiler problem
Oct 3, 2025
3a04ba7
add compute_enthalpy_flux logical for Faxa_hmat and Faxa_hlat
mvertens Oct 4, 2025
8c0f3ab
added new if statements for compute_enthalpy_flux
mvertens Oct 5, 2025
a43655c
updated hash for oslo_aero
mvertens Oct 5, 2025
a943cb6
formatting changes
Oct 5, 2025
85c5f69
updated oslo_aero
Oct 5, 2025
105c879
updated oslo_aero
Oct 6, 2025
c35650f
udpated oslo_aero
Oct 6, 2025
d397695
updated .gitmodules
Oct 6, 2025
a8b8657
updated to latest feature/cam_computes_enthalpy
Oct 6, 2025
eea0435
moved physics_types.F90 out of physics/camnor_phys/physics
Oct 6, 2025
1dc40b0
some minor cleanup
Oct 6, 2025
c2aca9e
removed write statements from within dme_adjust_camnor.F90
Oct 6, 2025
72fc2a3
fixed compiler issue
mvertens Oct 6, 2025
fd1de7a
moved dme_adjust_camnor.F90 from camnor/physics to atmos_phys/
mvertens Oct 6, 2025
0095675
udpated .gitmodules
mvertens Oct 6, 2025
23db45d
Merge branch 'feature/cam_computes_enthalpy_temp' into feature/cam_co…
mvertens Oct 6, 2025
2214fa1
added a new conditional for compute_enthalpy_flux
mvertens Oct 7, 2025
d0bfbce
updated submodule atmos_phys
mvertens Oct 7, 2025
07ba8c8
more isolation of compute_enthalpy_flux
Oct 7, 2025
a698021
fixed compiler issue
mvertens Oct 7, 2025
65a1d76
fixed compiler issues
mvertens Oct 7, 2025
0577705
physics/cam/qneg_module.F90
Oct 7, 2025
81fb022
made new updates consistent with noresm3_0_015_cam6_4_085
Oct 8, 2025
8e7812d
fixed compilation problem
Oct 8, 2025
c4ba93d
added new test for cam sending enthalpy to mediator
mvertens Oct 8, 2025
9866397
Merge tag 'noresm3_0_018_cam6_4_085' into feature/cam_computes_enthalpy
mvertens Oct 8, 2025
0dad365
udpated cam with new testmod and new query of component_computes_enth…
mvertens Oct 9, 2025
2f35a9c
fixed new enthalpy test
mvertens Oct 10, 2025
e28c1c0
updated logic for component_computes_enthalpy_fluxes
mvertens Oct 10, 2025
0748f4d
clean up of comments
Oct 12, 2025
d0e98cc
removal of use_nonlinear_evap_fraction
Oct 13, 2025
e22b1ca
updated atmos_phys
Oct 13, 2025
8b14205
updated atmos_phys
mvertens Oct 21, 2025
022cade
updates for oslo_aero and atmos_phys
mvertens Oct 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@

[submodule "atmos_phys"]
path = src/atmos_phys
url = https://github.com/NorESMhub/atmospheric_physics
fxtag = atmos_phys0_14_001_noresm_v0
url = https://github.com/mvertens/atmospheric_physics
fxtag = 339524f
fxrequired = AlwaysRequired
fxDONOTUSEurl = https://github.com/NorESMhub/atmospheric_physics

Expand Down Expand Up @@ -76,8 +76,8 @@

[submodule "oslo_aero"]
path = src/chemistry/oslo_aero
url = https://github.com/NorESMhub/OSLO_AERO
fxtag = oslo_aero_3_0a007
url = https://github.com/mvertens/OSLO_AERO
fxtag = 55cd786
fxrequired = AlwaysRequired
fxDONOTUSEurl = https://github.com/NorESMhub/OSLO_AERO.git

Expand Down
4 changes: 2 additions & 2 deletions bld/build-namelist
Original file line number Diff line number Diff line change
Expand Up @@ -455,8 +455,7 @@ if ($print>=2) {
# Composition of air
add_default($nl, 'dry_air_species');
add_default($nl, 'water_species_in_air');
# Enthalpy flux
add_default($nl, 'compute_enthalpy_flux');

# Spectral Element dycore
my $dyn = $cfg->get('dyn');

Expand Down Expand Up @@ -4553,6 +4552,7 @@ add_default($nl, 'history_gas');
add_default($nl, 'history_aerosol_forcing');
add_default($nl, 'history_aerosol_radiation');
add_default($nl, 'history_aerosol_debug_output');
add_default($nl, 'history_enthalpy_flux');

# The history output for the AMWG variability diagnostics assumes that auxilliary history
# files h1, h2, and h3 contain daily, 6-hrly, and 3-hrly output respectively. If this output
Expand Down
12 changes: 9 additions & 3 deletions bld/namelist_files/namelist_defaults_cam.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2787,6 +2787,14 @@ See https://github.com/NorESMhub/noresm3_dev_simulations/discussions/78

<zmconv_parcel_pbl > .false. </zmconv_parcel_pbl>
<zmconv_parcel_hscale > 0.5 </zmconv_parcel_hscale>
<!-- +tht zm parameters-->
<zmconv_tiedke_lnd> 1.0 </zmconv_tiedke_lnd>
<zmconv_tht_thermo> .false. </zmconv_tht_thermo>
<zmconv_retrigger> .false. </zmconv_retrigger>
<zmconv_entrmn> 2e-4 </zmconv_entrmn>
<zmconv_alfadet> 0.1 </zmconv_alfadet>
<zmconv_plclmin> 6.e2 </zmconv_plclmin>
<!-- -tht zm parameters-->

<!-- CAMNOR thermo begin -->
<zmconv_tiedke_lnd > 1.0 </zmconv_tiedke_lnd>
Expand Down Expand Up @@ -2993,6 +3001,7 @@ See https://github.com/NorESMhub/noresm3_dev_simulations/discussions/78
<history_aerosol_forcing> .false. </history_aerosol_forcing>
<history_aerosol_radiation> .false. </history_aerosol_radiation>
<history_aerosol_debug_output> .false. </history_aerosol_debug_output>
<history_enthalpy_flux> .false. </history_enthalpy_flux>

<cam_snapshot_before_num> -1 </cam_snapshot_before_num>
<cam_snapshot_after_num> -1 </cam_snapshot_after_num>
Expand All @@ -3012,9 +3021,6 @@ See https://github.com/NorESMhub/noresm3_dev_simulations/discussions/78
<water_species_in_air microphys="mg2" >'Q','CLDLIQ','CLDICE','RAINQM','SNOWQM' </water_species_in_air>
<water_species_in_air microphys="mg3" >'Q','CLDLIQ','CLDICE','RAINQM','SNOWQM','GRAUQM'</water_species_in_air>

<!-- Enthalpy flux -->
<compute_enthalpy_flux> .false. </compute_enthalpy_flux>

<!-- ================================================================== -->
<!-- Defaults for FV3 -->
<!-- ================================================================== -->
Expand Down
17 changes: 7 additions & 10 deletions bld/namelist_files/namelist_definition.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2275,7 +2275,7 @@ Default: 0,-24,-24,-24,-24,-24,-24,-24,-24,-24
group="cam_history_nl" valid_values="">
If interpolate_output(k) = .true., then the k'th history file will be
interpolated to a lat/lon grid before output.
Default: .false.,.false.,.false.,.false.,.false.,.false.,.false.,.false.,.false.,.false.
Default: .false.
</entry>

<entry id="interpolate_nlat" type="integer(10)" category="history"
Expand Down Expand Up @@ -5815,6 +5815,12 @@ summation fields.
Default: .false.
</entry>

<entry id="history_enthalpy_flux" type="logical" category="diagnostics"
group="phys_ctl_nl" valid_values="" >
Output enthalpy flux diagnostics if CAM computes enthalpy fluxes
Default: .false.
</entry>

<entry id="offline_driver" type="logical" category="offline_unit_driver"
group="phys_ctl_nl" valid_values="" >
True when model is configured to use an offline driver.
Expand Down Expand Up @@ -8282,15 +8288,6 @@ Switch to apply lunar tidal tendencies to neutral winds.
Default: FALSE
</entry>

<!-- Enthalpy flux -->

<entry id="compute_enthalpy_flux" type="logical" category="physconst"
group="air_composition_nl" valid_values="" >
Enthalpy flux terms explicitly computed and added in the atmosphere and
passed to an active ocean component.
Default: FALSE
</entry>

<!-- Dry air major species -->

<entry id="dry_air_species" type="char*6(20)" category="physconst"
Expand Down
9 changes: 9 additions & 0 deletions cime_config/testdefs/testlist_cam.xml
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,15 @@
</options>
</test>

<test compset="NF1850fates-sp" grid="ne16pg3_ne16pg3_mtn14" name="ERP_Ln9" testmods="cam/outfrq9s_enthalpy_from_cam">
<machines>
<machine name="betzy" compiler="intel" category="aux_cam_noresm"/>
</machines>
<options>
<option name="wallclock">00:20:00</option>
</options>
</test>

<test compset="NF1850" grid="ne30pg3_ne30pg3_mtn14" name="ERP_Ln9" testmods="cam/outfrq9s">
<machines>
<machine name="betzy" compiler="intel" category="aux_cam_noresm"/>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
./xmlchange ROF_NCPL=\$ATM_NCPL
./xmlchange GLC_NCPL=\$ATM_NCPL
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
mfilt=1,1,1,1,1,1
ndens=1,1,1,1,1,1
nhtfrq=9,9,9,9,9,9
write_nstep0=.true.
inithist='ENDOFRUN'
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
component_computes_enthalpy_flux = 'atm'
2 changes: 1 addition & 1 deletion src/atmos_phys
2 changes: 1 addition & 1 deletion src/chemistry/oslo_aero
Submodule oslo_aero updated 1 files
+265 −110 src_cam/physpkg.F90
12 changes: 10 additions & 2 deletions src/control/cam_comp.F90
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ module cam_comp
use perf_mod
use cam_logfile, only: iulog
use cam_abortutils, only: endrun
use air_composition, only: air_composition_register

implicit none
private
Expand Down Expand Up @@ -56,7 +57,8 @@ module cam_comp
subroutine cam_init( &
caseid, ctitle, model_doi_url, &
initial_run_in, restart_run_in, branch_run_in, post_assim_in, &
calendar, brnch_retain_casename, aqua_planet, dms_from_ocn, &
calendar, brnch_retain_casename, aqua_planet, dms_from_ocn, &
compute_enthalpy_flux, &
single_column, scmlat, scmlon, &
eccen, obliqr, lambm0, mvelpp, &
perpetual_run, perpetual_ymd, &
Expand Down Expand Up @@ -103,6 +105,7 @@ subroutine cam_init( &

logical, intent(in) :: single_column
logical, intent(in) :: dms_from_ocn
logical, intent(in) :: compute_enthalpy_flux
real(r8), intent(in) :: scmlat
real(r8), intent(in) :: scmlon

Expand Down Expand Up @@ -168,14 +171,19 @@ subroutine cam_init( &
! Register zonal average grid for phys TEM diagnostics
call phys_grid_ctem_reg()

! Need to call this before phys_register - sets module variable
! compute_enthalpy_flux in air_composition_register
call air_composition_register(compute_enthalpy_flux)

! Register advected tracers and physics buffer fields
call phys_register ()
call phys_register()

! Initialize ghg surface values before default initial distributions
! are set in dyn_init
call chem_surfvals_init()

call air_composition_init()

! initialize ionosphere
call ionosphere_init()

Expand Down
Loading
Loading