-
Notifications
You must be signed in to change notification settings - Fork 319
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
Explicit air-conditioning adoption #2275
Explicit air-conditioning adoption #2275
Conversation
1. `src\cpl\share_esmf\UrbanTimeVarType.F90`: Modify `stream_varnames` dimensions so that it becomes independent of urban density type indices (7-9), to prepare for future time varying data input for `p_ac` (and `p_h`, possibly); 2. `src\biogeophys\UrbBuildTempOleson2015Mod.F90`: Add `p_ac` to the equation of `eflx_urban_ac`; not being implemented yet.
Add missing comment signs
[dev.01] Debugging after first test run. Problem: First test run (job 6762983) returned all URBAN_AC results as 0. Suspect a mismatch between the indices of `stream_varnames` and `t_building_max`, which may have resulted in all `t_building_max` being set to nan/very large number. Solution: Modify subroutine `urbantv_interp` by hard-coding *land unit type - 6* to ensure the if statement criterion returns true.
1. `src\cpl\share_esmf\UrbanTimeVarType.F90`: Add 3 more dimensions to `stream_varnames` (4,5,6) for `p_ac`; 2. `src\biogeophys\UrbBuildTempOleson2015Mod.F90`: Use `p_ac` in the equation of `eflx_urban_ac`.
Bug fix: added missing "end if"
Bug fix: declare p_ac type; comment out original code
1. changed how interior building temperature is updated based on proposed scheme, by adding back the heat not removed by AC; 2. added an intermediate local variable `efllx_urban_ac_sat`; 3. `t_building_max` now indicates the saturation setpoints.
Remove 8 write to log statements (added in as part of dev.02 for debugging) to fix the timing issues
1. Add a new logical variable `urban_explicit_ac` (default true) in __UrbanParamsType.F90__; 2. Add if-else block to building interior building temperature and AC flux calculation in __UrbBuildTempOleson2015Mod.F90__: use p_ac if `urban_explicit_ac` is set to true, otherwise use the original way of calculation; 3. Add `urban_explicit_ac` to __namelist_definition_ctsm.xml__; and 4. Add `urban_explicit_ac` default value (.true.) to __namelist_defaults_ctsm.xml__.
5. Add `urban_explicit_ac` to __CLMBuildNamelist.pm__.
Add missing ";"
Add "`end if`"
Changed nlevurb to 10 (line 207) to conform to the new surfdata file.
Fix syntax error
Bug fix: t_building calculation
Formalized comments in the code
I'm converting this to a draft, as it may be awhile before we can bring this in. Don't worry this is just a normal thing here. @olyson are you dialed in on this project and have your reviewed this PR? |
Thanks, @olyson! I have deleted case_id and added citation. Here's the final list of global attributes:
Let me know if these look good! The new file is here: /glade/work/xinchang/02_Explicit_AC_Adoption/02_data_present_day/CTSM52_urbantv_Li_2024_0.9x1.25_simyr1849-2106_c20230621.nc |
Looks good, thanks! |
Ran aux_clm testing on Izumi. Failed tests: NLCOMPs for Clm60, Clm50, and Clm45 tests - expected due to presence of urban_explicit_ac = .false. (Clm50 and Clm45) and urban_explicit_ac = .true. (Clm60).
|
Update externals to cesm2_3_beta17, remove mct, retire /test/tools Changes unrelated to the tag's title:
Merged up to ctsm5.2.006. No conflicts. Ran aux_clm testing on Derecho. Failed tests: NLCOMPs for Clm60, Clm51, Clm50, and Clm45 tests - expected due to presence of urban_explicit_ac = .false. (Clm50 and Clm45) and urban_explicit_ac = .true. (Clm60 and Clm51). The following test FAILed as PEND at the COMPARE_base_rest stage:
which is not marked as an expected FAIL, but the RUN part is marked as an expected FAIL so this seems ok. The following tests which are marked as expected FAIL, PASSed:
|
Ran aux_clm testing on Izumi. Failed tests: NLCOMPs for Clm60, Clm50, and Clm45 tests - expected due to presence of urban_explicit_ac = .false. (Clm50 and Clm45) and urban_explicit_ac = .true. (Clm60). The following tests which are marked as expected FAIL, PASSed:
|
Ran ctsm_sci testing on Derecho.Failed tests: NLCOMPs for Clm60, Clm50 tests - expected due to presence of urban_explicit_ac = .false. (Clm50) and urban_explicit_ac = .true. (Clm60). The following tests FAILed initially but PASSed after rerunning them.
|
From software meeting 2024/6/6:
@slevis-lmwg will merge and tag this on main with the namelist option OFF first as bfb no change. |
Rm manage_externals and update documentation accordingly Fixes ESCOMP#2537 Remove manage_externals stuff from run_sys_tests Fixes ESCOMP#2536 Update documentation for git-fleximod Fixes ESCOMP#2467 Remove references to cheyenne from the testlist
…adoption Update git fleximod to resolve some issues we found with it Just update the gitfleximod subtree to v0.7.8. This fixes an issue in identifying that a tag is out of sync in a submodule. An issue about recursion on a submodule. Allows untracked files, and fixes a MS Window Memory error. And also git-fleximod status marks optional submodules, which helps explain why they are marked as not-checked out.
Updated to branch_tags/tmp-240620.n02.ctsm5.2.007 Untracked files: @ekluzek , should I just delete those directories? |
@olyson yes just delete those directories. This is an artifact of the externals update and moving to git-fleximod. We removed the cpl7 directory explicitly and the name was changed for mizuRoute. |
Handle CAM7 and C/E in long compsets Changes so that CAM7 is allowed for the land-tuning mode. Allow "C" and "E" after period designation in long compset names. Fix an issue with Zender dust emission soil eroditability files.
|
Hi @cathyxinchangli |
HI @slevis-lmwg! Thanks for letting me know. I just sent you an invite. Let me know if it still doesn't work! |
Thank you @cathyxinchangli and everyone! This PR is now merged and tagged as ctsm5.2.010. Keep in mind that we made the change .false. by default (for now) in order to keep answers bit-for-bit identical with ctsm5.2.009. |
That's great news! Thank you @slevis-lmwg, @olyson and everyone else who have contributed and made it happen! 🎊 |
This is so exciting! Thank you @cathyxinchangli, @olyson, @slevis-lmwg and everyone else!! |
Description of changes
This update include code changes for adding an explicit air-conditioning (AC) adoption parameterization scheme in CLMU. This includes adding a new time-varying input variable (AC adoption rate,
p_ac
), changes to building energy calculations, and a toggle (new namelist variableurban_explicit_ac
)Specific notes
The explicit-AC-adoption scheme is on by default (
urban_explicit_ac = .true.
) in this pull request. The default urban time-varying input data file (namelist variablestream_fldfilename_urbantv
) needs to be changed to includep_ac_[TBD/HD/MD]
variables, whether or not the explicit-AC-adoption scheme is on. Additional changes needed include:p_ac_[TBD/HD/MD]
variables are set to 1 universally, and the building interior setpoints (tbuildmax_[TBD/HD/MD]
) remain unchanged, to ensure the model reproduces previous results;p_ac_[TBD/HD/MD]
variables take on actual AC adoption rate values (present-day global data were developed together with the code change), andtbuildmax_[TBD/HD/MD]
are set to 300K/27°C universally.Contributors other than yourself, if any:
Lei Zhao (@Face2sea), Keith Oleson (@olyson), Bowen Fang (@fang-bowen), Keer Zhang (@keerzhang1).
CTSM Issues Fixed (include github issue #):
#2254
Are answers expected to change (and if so in what way)?
No if explicit AC adoption is off. Otherwise, with the accompanying AC adoption rate dataset, urban air-conditioning energy flux (
URBAN_AC
) and waste heat flux (WASTEHEAT
) increase in some regions, bringing modeled anthropogenic heat closer to the observational estimates. Urban 2-m air temperature (TSA_U
) increases slightly (up to 0.1K) in some places as a result.Any User Interface Changes (namelist or namelist defaults changes)?
urban_explicit_ac = .true.
by default.stream_fldfilename_urbantv
needs to change (example files available in my directory).Testing performed, if any:
We ran land-only simulations at 0.9 by 1.25 degree resolution for 2005 - 2014 driven by GSWP3 forcings, and compared simulated anthropogenic heat flux (AHF) due to AC with published AHF datasets. We also conducted experiments with various AC adoption rates (
p_ac
= 0, 0.03, and 1 everywhere, and using the present-day dataset) to verify that the model behaves as expected.