Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Using my own surface file for CLM

HazelMooney

Hazel Mooney
New Member
Hi there,

I am running multiple experiments to examine the BVOC emissions of different land use change scenarios.
Firstly, i made a regridded land surface file based on surfdata_0.47x0.63_16pfts_Irrig_CMIP6_simyr1850_c170919.nc where i replaced UK land cover with higher res info. I have validated that the file format is the same, and that variables match and add up to 100% in patches etc.
I then went on to make a series of adaptations to this surface whilst where i varied quantities of tree PFTs.
I point to these files in user_nl_clm to run my bespoke scenarios, but i get the error:
ERROR: ERROR in dynpftFileMod.F90 at line 169 dynpft_check_consistency mismatch between PCT_NAT_PFT at initial time and that obtained from surface dataset

Can you advise me what steps need to be taken for the model to run with my modified surface data files?
What is it that needs to happen to the land/time? Can these simply be set to match? As far as i am aware, i haven't modified anything to do with time in the surface file when making my own versions.
If i have not taken an appropriate approach to modifying the surface file, please can you advise me what is the alternative.
 

HazelMooney

Hazel Mooney
New Member
To add more detail to the above. Once i had calculated all the proportions of land cover types i wanted in my scenarios, i wrote a script to replace these only in the grid cells of interest. I have mantained the format of the surfdata file detailed above, and confirm it has the same variables, dimensions and coordinates.
 

slevis

Moderator
Having seen this error message before, I assume that you also see the rest of the error's message, which gives guidance on how to proceed. I'm extracting the message from the code here:

Code:
write(iulog,*) subname//' mismatch between PCT_NAT_PFT at initial time and that obtained from surface dataset'
             write(iulog,*) 'On landuse_timeseries file: ', wtpatch_time1(g,:)
             write(iulog,*) 'On surface dataset: ', wt_nat_patch(g,:)
             write(iulog,*) ' '
             write(iulog,*) 'Confirm that the year of your surface dataset'
             write(iulog,*) 'corresponds to the first year of your landuse_timeseries file'
             write(iulog,*) '(e.g., for a landuse_timeseries file starting at year 1850, which is typical,'
             write(iulog,*) 'you should be using an 1850 surface dataset),'
             write(iulog,*) 'and that your landuse_timeseries file is compatible with the surface dataset.'
             write(iulog,*) ' '
             write(iulog,*) 'If you are confident that you are using the correct landuse_timeseries file'
             write(iulog,*) 'and the correct surface dataset, then you can bypass this check by setting:'
             write(iulog,*) '  check_dynpft_consistency = .false.'
             write(iulog,*) 'in user_nl_clm'
 

HazelMooney

Hazel Mooney
New Member
Hi there.

The above worked fine, thank you for confirming this.

I have another query relating to the use of my own bespoke surface files. I have successfully run 4 model runs where a bespoke surface file has been introduced, as well as adjusted emissions factors. However, I have 4 other model runs using a different surface file, and the output suggests that for some reason, the previous surface file has been read.

For info, 4 model runs used a regridded land surface, and the second 4 model runs use afforested land surface i.e. they have many more trees in them, and hence expect many more emissions.

If the initial compset run is 'default, my 4 bespoke model runs that work successfully are my 'original' land surface, and the latter are my 'afforested' runs, I see no change in emissions quantities in 'afforested' runs, compared to the 'original' surface estimates. I see the expected difference between the 'default' and runs using my 'original' surface file. However, runs completed with 'afforested' surface files present exactly the same values as the 'original'.

I thought it must be something as simple as pointing to the wrong file, or the afforestation not saving properly at the point of making the surface file. I ran all of the below checks but they are all exactly as they should be.
1. Input: checking that 'save to netcdf' in land processing has worked on all files.
2. Input: confirming that the differences in land cover are showing in plots.
3. Input: Checking that the files in model build match files locally.
4. Output: checking that jupyter notebooks are calculating emissions from the correct output data.
5. Model set up: checking that all afforested model builds use the afforested land and that regridded builds are using non-afforested land
6. Model set up: checking in model logs that the land file was read in correctly.

The results basically suggest the model has read the 'original' land surface file, rather than the specific 'afforested' file, but I did not think that was possible. I am unsure what else I can look for to unravel this mystery.

If you can offer any ideas I would be very grateful.

Hazel
 

slevis

Moderator
If you have confirmed from the lnd.logs that in one case the model reads the "default" data and in the other the "afforested" data, then the output should have been different. It's possible that this is a file management problem, where you think you are looking at the new files, when in fact you are looking at the old files. One possible way to resolve this is to start over with two new separate cases.
 

HazelMooney

Hazel Mooney
New Member
Hi @slevis thanks for your reply.
These were built as separate cases.

I am continuing to investigate my set up and output to see what might be wrong.
Going from a default compset model run, the first adjustment to land has resulted in a change to emissions, so i am happy to the change in land is working here.
But it is going from the first adjustment to the third where a change in land is not resulting in a change in emissions.



Can i please ask, in the output data from CLM, the PCT_NAT_PFT is different to the input PCT_NAT_PFT of the land file used.Is this expected? Notably the values from model output PCT_NAT_PFT are the same across model runs using my 3 different land surface files, but the input values for PCT_NAT_PFT vary between runs.
 

HazelMooney

Hazel Mooney
New Member
To give a little more detail,

The changes i make from the 'default' land surface file (surfdata_0.47x0.63_16pfts_Irrig_CMIP6_simyr1850_c170919.nc ) to make my UK file involves changes to PCT_NAT_VEG, PCT_URBAN, PCT_CROP, PCT_LAKE and PCT_NAT_PFT.
The changes i make from my UK file to my afforested file involves changes only to PCT_NAT_PFT. So my instinct is that something is not being picked up relating to changes in pft distribution, in order for the estimates of emissions to be exactly the same between runs using UK file and runs using afforested files?

I know i previously asked about the land_use_file error
ERROR: ERROR in dynpftFileMod.F90 at line 169 dynpft_check_consistency mismatch between PCT_NAT_PFT at initial time and that obtained from surface dataset

Would the setting "check_dynpft_consistency = .false." mean that the PCT_NAT_PFT from the input surface file was not used?
 

HazelMooney

Hazel Mooney
New Member
To give a little more detail,

The changes i make from the 'default' land surface file (surfdata_0.47x0.63_16pfts_Irrig_CMIP6_simyr1850_c170919.nc ) to make my UK file involves changes to PCT_NAT_VEG, PCT_URBAN, PCT_CROP, PCT_LAKE and PCT_NAT_PFT.
The changes i make from my UK file to my afforested file involves changes only to PCT_NAT_PFT. So my instinct is that something is not being picked up relating to changes in pft distribution, in order for the estimates of emissions to be exactly the same between runs using UK file and runs using afforested files?

I know i previously asked about the land_use_file error
ERROR: ERROR in dynpftFileMod.F90 at line 169 dynpft_check_consistency mismatch between PCT_NAT_PFT at initial time and that obtained from surface dataset

Would the setting "check_dynpft_consistency = .false." mean that the PCT_NAT_PFT from the input surface file was not used?
I am wondering if the problem is that i needed to also make change to the land use time series file for my new PFT values to be incorporated into the model run?
Can you please advise me on this?
Do date i have simply made modifications to the surface file as detailed above, but no changes were made to a land use time series. The land use file of our set up is landuse.timeseries_0.47x0.63_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c180508.nc
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
Yes, for a transient simulation, changes you want to make to PFT values should be made in the landuse timeseries files.
 

HazelMooney

Hazel Mooney
New Member
I am wondering if the problem is that i needed to also make change to the land use time series file for my new PFT values to be incorporated into the model run?
Can you please advise me on this?
Do date i have simply made modifications to the surface file as detailed above, but no changes were made to a land use time series. The land use file of our set up is landuse.timeseries_0.47x0.63_hist_16pfts_Irrig_CMIP6_simyr1850-2015_c180508.n
Yes, for a transient simulation, changes you want to make to PFT values should be made in the landuse timeseries files.

thank you for your guidance @oleson
My runs are specifically for the year 2003. I have already made the modified PFT data and introduced this on the surface file. Am I able to simply replace the PFT data in the year 2003 in the time series of the land use file?
Thank you.
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
If you are simply running a single year (2003), then you don't really need to do a transient run, right?
 

HazelMooney

Hazel Mooney
New Member
If you are simply running a single year (2003), then you don't really need to do a transient run, right?
I’m just needing to identify the set up required for providing my modifications to the land surface. I had made my changes to the PCT land surface variables in the surf data file (see details above). But I think ive establish that changing natpft values in PCT-NAT-PFT was not working, which led me to think I needed to change PCT-NAT-PFT values in the land use time series?
I am doing a 30 year spin up, but looping through 2003 data for the input data files required. Does that make sense?
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
It looks like your surface dataset is for year 1850. So if you want to change pfts for year 2003 then you would need to change the landuse timeseries file for that year. You would leave the surface dataset as is.
 
Top