Welcome to the new DiscussCESM forum!
We are still working on the website migration, so you may experience downtime during this process.

Existing users, please reset your password before logging in here: https://xenforo.cgd.ucar.edu/cesm/index.php?lost-password/

Modifications to IrrigationMod.F90 and namelist variable

AndrewY

New Member
Hello all,

I found this CLM namelist variable called "irrigate" to which logical value "true" or "false" can be assigned to decide whether irrigation will be activated or not. I also noticed "IrrigationMod.F90" for source code modification. There are some arguments in IrrigationMod.F90 that compute deficits (line966-991).

I came up with two ways to modify the model run and I wonder if there is any difference between them:
1) Copy IrrigationMod.F90 to SourceMods/src.clm and manually set the deficits as 0 (so no irrigation will be applied);
2) Do not add IrrigationMod.F90 to the case and change the value of "irrigate" to "false" (the irrigation will be inactive).

I'm aware that there must be some difference during the model building but would those two ways of modification lead to different model results?

Thank you!
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I'm guessing the result would be the same, but to be sure, you could set up a couple of test cases and compare their answers. I would expect the history field variable QIRRIG to be zero in both cases.
 

AndrewY

New Member
I'm guessing the result would be the same, but to be sure, you could set up a couple of test cases and compare their answers. I would expect the history field variable QIRRIG to be zero in both cases.
Thank you Dr. Olsen,

I have launched several test runs and the following issues confuse me:

1. According to my model results, it makes no difference by assigning "true" or "false" to the variable "irrigate". And by setting the "false" value, QIRRIG won't actually become zero while in the case of modifying IrrigationMod.F90 QIRRIG is always zero.

2. To make sure the model can be successfully built and run, it seems an input of surface data ("fsurdat") is necessary when changing the value of "irrigate" in user_nl_clm. I wonder what the possible reason for that could be?

3. I have plotted contour maps using the outputs of aforementioned model runs. According to the tech note, irrigation should only be applied to croplands. But in the case where QIRRIG is non-zero, the irrigation is applied to all land surfaces on the map. I wonder why is that? Does that have something to do with the surface data I'm using (surfdata_0.9x1.25_16pfts_Irrig_CMIP6_simyr2000_c170824.nc)?
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
Ok, I think the problem you are having is related to this post:


I think you'll have to use a different surface dataset (presumably one without "Irrig" in the name).

Can you post what model version you are using, i.e., the output of git describe?
And what is your create_newcase command?
 

AndrewY

New Member
Ok, I think the problem you are having is related to this post:


I think you'll have to use a different surface dataset (presumably one without "Irrig" in the name).

Can you post what model version you are using, i.e., the output of git describe?
And what is your create_newcase command?
Hi Dr. Olsen,

I don't think the problem has been addressed in the post you mentioned. Anyway, I will try to run the model with another surface dataset.

The model version I'm using is cesm 2.1.0 and I created the case by the following command: ./create_newcase --case $CASENAME --compset F2000climo --res f09_f09_mg17 --machine h2o --run-unsupported

Thank you!
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I tried this myself with various versions (cesm2.1.0, cesm2.1.1, 2.1.3) and had the same problem.
However, I was able to shut off irrigation with cesm2.2.0 by setting irrigate = .false. and adding in the same fsurdat that would be used if irrigate was true.
So, your options seem to be:
1) Use cesm2.2.0
2) Using the version of cesm you are using now, use your method of setting the deficits to zero.
3) I couldn't find a surface dataset without irrigated cropland that is compatible with the dataset you are using. So, you could create a surface dataset manually by assigning irrigated crop areas to the non-irrigated crop areas in that dataset. There may be a way to do this using the mksurfdata tool, but I'm not sure what that is. @erik, do you have a suggestion?

I checked QIRRIG in my version of your F2000climo simulation and I only see irrigation where the irrigated crops are, as is intended. Not sure why yours is irrigating over all land surfaces
 

AndrewY

New Member
I tried this myself with various versions (cesm2.1.0, cesm2.1.1, 2.1.3) and had the same problem.
However, I was able to shut off irrigation with cesm2.2.0 by setting irrigate = .false. and adding in the same fsurdat that would be used if irrigate was true.
So, your options seem to be:
1) Use cesm2.2.0
2) Using the version of cesm you are using now, use your method of setting the deficits to zero.
3) I couldn't find a surface dataset without irrigated cropland that is compatible with the dataset you are using. So, you could create a surface dataset manually by assigning irrigated crop areas to the non-irrigated crop areas in that dataset. There may be a way to do this using the mksurfdata tool, but I'm not sure what that is. @erik, do you have a suggestion?

I checked QIRRIG in my version of your F2000climo simulation and I only see irrigation where the irrigated crops are, as is intended. Not sure why yours is irrigating over all land surfaces
Thank you Dr. Olsen,

I changed the version of cesm and it worked! The results with irrigation activated and disabled are different now.

In terms of the issue of "QIRRIG being applied to all land surfaces", it's actually not the case. In the beginning, I used the unit "mm/s" to draw the plot and the irrigation parts didn't show up given the extremely small value of QIRRIG and the limited number of colors in the color map I used. Now I have transferred the unit to "mm/day" and everything looks fine now.
 
Top