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

How to use another specified SST data?

I am running CCSM4 with the F compset and waccm_ghg chemistry. I have done the default simulation successfully. Now, I want to change the SST data. l make the cice.buildnml.xml to point to myself SST data:
stream_domfilename = ... (myself SST data path and data)
stream_fldfilename = ... (myself SST data path and data)

Also, for the docn.buildnml.xml:
set dat_datpath = ... (myself SST data path)
set dat_datfile = ... (myself SST data)

After these changes, the model still can run successfully. But the output surface air temperature (TS) in the cam history files is obviously different from the input myself SST values. For example, myself SST values are between 332 K and 342 K (extreme warm condition), and I have set sea-ice fraction to be zero for each grid. However, the output TS values still are between 220 K and 307 K, which is much lower than I except. While, the output sea-ice fraction is zero, which is same as myself input value. I do not know why the surface temperature is still very low.

I guess two possible reasons:
(1) I have missed somewhere I should change;
(2) Does the WACCM4.0 include the ice sheet model? If it has included, how I could close it?

Does anybody know that? Thanks very much.
 
The path to the SST file used by the data ocean model is contained in Buildconf/docn.input_data_list: DOMAINFILE = /path/to/file.nc

Try changing that to point to your file. You probably should revert the changes you made to docn.buildnml.xml
 
Mills, thanks very much for your reply. I have missed somewhere I should change:
******************************
In the docn.buildnml.csh

$DIN_LOC_ROOT/ocn/docn7/SSTDATA


sst_HadOIBl_bc_4x5_clim_c061031.nc
******************************
This also should be changed. After that, I get the SST I except. By the way, I have checked the ice sheet. It has been included in the F1850W run, though it is simplified.
 
I tried to do the same work but failed. the worse thing was that there was no error message. Bellow was the messages.
Could anybody help me?
----------------------------------------

Code:
see cpl.log.110113-123811

which tell me that:

Code:
(seq_mct_drv) USE_ESMF_LIB is NOT set, using esmf_wrf_timemgr
(seq_mct_drv) MCT_INTERFACE is set
..........................................................
(seq_timemgr_clockPrint) calendar      = NO_LEAP
(seq_timemgr_clockPrint) end_restart   =   F
..........................................................
(seq_mct_drv) : Initialize each component: atm, lnd, ocn, and ice
(seq_mct_drv) : Initialize atm component
(seq_mct_drv) : Initialize lnd component
(seq_mct_drv) : Initialize ocn component
 

eaton

CSEG and Liaisons
My suggestion would be to try modifying the F compset (see the CESM User's Guide for help with customizing or creating your own compset) that you're working with to contain the following attributes:

DOCN_SSTDATA_FILENAME
DOCN_SSTDATA_YEAR_START
DOCN_SSTDATA_YEAR_END

These variables are used in the compsets to specify the dataset used by the docn component. Typically they are used in the AMIP compsets, but I would expect them to work in any circumstance were you need to change the SST dataset. Look at the other AMIP compset definitions (in the file scripts/ccsm_utils/Case.template/config_compsets.xml) for examples of how to set the filename variable. For a typical AMIP run the start and end years will correspond to the years that are available in the dataset. But I think you can fix the year in a multiyear dataset by just setting the start and end years equal. Look at the online doc for DOCN (http://www.cesm.ucar.edu/models/cesm1.0/data8/).
 
eaton,

First, thanks for your advise, this way will be good, maybe we should add this to the next version's UG.

More, I want to know that if i specify the DOCN_SSTDATA_FILENAME = sst_HadOIBl_bc_64x128_clim_c020411.nc , a climate data, then what value should the DOCN_SSTDATA_YEAR_START and DOCN_SSTDATA_YEAR_END be?
thanks

leo

eaton said:
My suggestion would be to try modifying the F compset (see the CESM User's Guide for help with customizing or creating your own compset) that you're working with to contain the following attributes:

DOCN_SSTDATA_FILENAME
DOCN_SSTDATA_YEAR_START
DOCN_SSTDATA_YEAR_END

These variables are used in the compsets to specify the dataset used by the docn component. Typically they are used in the AMIP compsets, but I would expect them to work in any circumstance were you need to change the SST dataset. Look at the other AMIP compset definitions (in the file scripts/ccsm_utils/Case.template/config_compsets.xml) for examples of how to set the filename variable. For a typical AMIP run the start and end years will correspond to the years that are available in the dataset. But I think you can fix the year in a multiyear dataset by just setting the start and end years equal. Look at the online doc for DOCN (http://www.cesm.ucar.edu/models/cesm1.0/data8/).
 

eaton

CSEG and Liaisons
I suspect that you'll have problems trying to use sst_HadOIBl_bc_64x128_clim_c020411.nc with the DOCN component. That dataset was used with the old CAM specific data ocean code which did not require a CF compliant time coordinate, and I think that DOCN does require a CF compliant time coordinate. So I think there are two options.

1. Update the sst_HadOIBl_bc_64x128_clim_c020411.nc to use a CF compliant time coordinate. Any tool that manipulates (I'd use the NCO operators) netCDF files can be used to do this. There is a time variable with the CF conforming values and attributes in the newer file sst_HadOIBl_bc_64x128_clim_c050526.nc (You also might consider just using that file.) This time coordinate has the units "days since 0000-01-01 00:00:00" and the time values are all less than 350, so all the corresponding dates will be in year 0. That means you should be able to set DOCN_SSTDATA_YEAR_START and DOCN_SSTDATA_YEAR_END to 0.

2. The c020411 version of the file will work with the CAM specific data ocean code. That's what will be used if you run CAM4 using the standalone scripts (the F compset will use DOCN, not the CAM standalone data ocean code). Standalone CAM5 was changed to also use DOCN by default, so to revert it to using the old data ocean you'll need to add the argument "-ocn dom" to the configure command.
 
Hi Brian

Thank you for your explanations.
They are indeed very helpful.
I was lost with the same problem of changing the SST file.

I am doing about the same as jyangdas and leo897, i.e.,
trying to use a different SST file than the Hurrell et al. climatology that is used
by default on CESM "F" component sets.

I presume this is not unique to me, Jyangdas and leo897,
but a very common situation.
I hope jyangdas and leo897 will forgive me for hijacking their thread.
SST forcing is so very basic that everybody wants to play with it, to change it.
Most of the work I did or saw others doing here with previous versions of CAM depended
mostly on the ability to change the SST dataset with ease.
On CAM3 and previous versions this used to be as simple as changing the
namelist parameter 'bndtvs' to point to another SST file.

If I understood your posting correctly, on CESM the only way to change the SST file
is to define a new component set (on ccsm_utils/Case.template/config_compsets.xml),
point DOCN_SSTDATA_FILENAME to your favorite SST file,
and optionally set DOCN_SSTDATA_YEAR_START and DOCN_SSTDATA_YEAR_END.

Then one has to do
1) create_newcase,
2) configure -case,
3) compile everything,
4) build the namelists, etc.

Everything needs to be done all over again from the ground up,
when actually nothing has been changed in the model components' structure,
except the SST file.

Isn't it a bit of an overkill?
Is there any simpler way to *just* change the SST file?

Anyway, this is more of a 'data component'/DOCN question than a WACCM problem.
My perception is that changing the SST forcing is so common that there may be more
CESM,CAM4,CAM5, WACCM, users with the same problem.
It may help other users if a clarification on how to change the SST file was posted on the
'data component' forum, and/or perhaps as jyangdas suggested, highlighted in
the user's guide.

Also, you mentioned that the time coordinate has to be CF compliant.
It would be helpful if there was more information on what it takes to make
the time coordinate CF compliant.
(The CF specification document is big, pointing to it wouldn't help much.)

Moreover, which other conditions, if any, must be met by the SST file?
What variables and coordinates must be there, which units to use, etc?
I guess the Hurrell dataset (hurrell_sst_ifrac.1x1.050606.nc) that ships with CESM
could be used as a template.

However, that file it is a 12 month climatology.
It doesn't cover the AMIP type of integration, or historical reconstructions of SSTs, or
future projections, for instance, which are typical experiments that people may want to run.
In CAM3 there was a companion monthly mean Hurrell file that covered an extended
period of time, 1870-2003, if I remember right.
Can a similar file, but 'CESM-ready', be made available to the community
on the CESM svn repository?

I can also see other datasets in the CESM DOCN SSTDATA directory which
have a different structure than the Hurrell climatology,
with different auxiliary variables, and even different names
for the sst and ice fields (sst vs. SST_cpl, ifrac vs. ice_frac).
What is the standard one needs to follow to build a correct SST file for use in CESM?

Thank you,
Gus Correa
 

eaton

CSEG and Liaisons
This post brings up several issues. I'll try to cover them all.

> On CAM3 and previous versions this used to be as simple as changing the
> namelist parameter 'bndtvs' to point to another SST file.

The situation is complicated by the fact that two new models were released
within just a few months of each other, and CAM can be run in either the
CCSM4 or CESM1 release by using either standalone scripts or by using
CCSM/CESM scripts. Further complicating things is the fact that the SST
dataset also contains the prescribed sea ice coverage. So the dataset is
read by both the data ocean component (the old CAM specific DOM or the new
DOCN) and by the sea ice component (CICE).

To make the discussion more tractable, I'm going to discuss only
CESM1/CAM5. There really is no good reason to use CCSM4/CAM4 since the
newer release is backwards compatible with CAM4 in the sense that the cam4
physics package which was used in the bulk of the CESM contributions to AR5
is available along with the newer cam5 physics package.

If you run CAM5 using standalone scripts (instead of CESM1 scripts) then
the SST dataset is still specified by the variable bndtvs. The only change
is that when doing a transient run, instead of setting sstcyc=.false. as
for CAM3, now there are two namelist variables, stream_year_first and
stream_year_last, which should be set respectively to the first and last
years of data in the SST file. This change is due to changes in both the
data ocean model and the sea ice model.

> If I understood your posting correctly, on CESM the only way to change the SST file
> is to define a new component set (on ccsm_utils/Case.template/config_compsets.xml),

I was suggesting this procedure as the easiest way to get the correct
settings using a standard build/run procedure. If you want to modify an
existing case then things are a bit more complicated because, as I said
above, the SST dataset is read by both the docn and the cice components.
When working with the CESM scripts each component has its own script to
create its namelists. One way to modify those namelists (there are
probably other ways to do this) is to go into the cice.buildnml.csh and
docn.buildnml.csh scripts in the Buildconf directory and make the
appropriate modifications there. These scripts are always run by the
$case.$machine.run script so that changes there will result in new namelist
files being generated for a new run without rebuilding the executable.

> Also, you mentioned that the time coordinate has to be CF compliant.
> It would be helpful if there was more information on what it takes to make
> the time coordinate CF compliant.
> (The CF specification document is big, pointing to it wouldn't help much.)

OK. I'll point to just the relevant section :-)

http://cf-pcmdi.llnl.gov/documents/cf-conventions/1.5/cf-conventions.html#time-coordinate

The code used by both DOCN and CICE assumes a CF compliant time axis. This
simply means that the file must contain a "time" coordinate variable, and
that variable must have a "units" attribute like "days since 1850-01-01
00:00:00". The other requirement for CF conformance is that the time
coordinate should have a "calendar" attribute. All the SST datasets we
produce use the value of "365_day" for the calendar.

> In CAM3 there was a companion monthly mean Hurrell file that covered an extended
> period of time, 1870-2003, if I remember right.
> Can a similar file, but 'CESM-ready', be made available to the community
> on the CESM svn repository?

The files used for AMIP style runs which have been interpolated to CAM FV
grids and have the time twiddling (a la Taylor) applied to preserve monthly
means are in the repo. For example
https://svn-ccsm-inputdata.cgd.ucar.../sst_HadOIBl_bc_0.9x1.25_1850_2009_c101028.nc

> What is the standard one needs to follow to build a correct SST file for use in CESM?

The new code which is reading these datasets provides for namelist
input of the variable names that appear in the dataset. Look at the
namelists contained in the scripts mentioned above to see this. For
example, cice.buildnml.csh contains stream_fldvarname='ice_cov'. The
docn.buildnml.csh is a bit more cryptic, but the fieldname info appears to
be in the following construct:


SST_cpl t


The user guides for the cice and docn components should contain more info
about this.
 
hey, i have some further questions:
I would like to start a WACCM experiment using CESM (F_2000_WACCM). Here I need SST data and Sea Ice Fraction, which is for example given in file: */atm/cam/sst/sst_HadOIBl_bc_1.9x2.5_1850_2008_c100127.nc, where SST_cpl and ice_cov is used.
Now I would like to do some sensitivity studies and change both according to other fully coupled CESM experiments.
So I have CESM output data (for example from B1850WCN) and I would like to use the SST and the Ice data in order to force the F_2000_WACCM experiment.
My questions are:
Can I use the SST output (from B1850WCN) and use this as my data ocean input file? Or do I have to transform the values? Maybe with the help of the icesst-060418 tool? Or do I have to use the first layer of TEMP (Potential Temperature)?
Regarding the Ice, I would like to know, if I can use aisnap_d (ice area snapshot ranges from 0 to 1) from the ice model? Or maybe aice (ice area aggregate in percent from 0 to 100)?
Thanks for your help.
 
Hello WACCM users,
maybe my questions are not clear, therefore I try again:

If I prepare an AMIP run, the suggested SSTs and Ice fractions are given for example in the file “sst_HadOIBl_bc_1.9x2.5_1850_2008_c100127.nc”. Here they are called SST_cpl (BCS Pseudo SST) and ice_cov (BCS Pseudo Sea-ice concentration).
Now I would like to replace these data by SST and Ice fields generated with another CESM experiment.

The question now is, can I just use for example the CICE output, which contains the variables SST and aice (ice area aggregated) and use them instead of SST_cpl and ice_cov? Or do I have to use other data or manipulate the original?

An example for testing would be: run a full coupled model experiment, extract the proper SSTs and Ice fractions and use these for a new experiment as the data-ocean/ice component. Then the atmospheric states of both experiments should compare to each other. The question again is: which SST/Ice fraction do I have to use from the CESM output?

Any help is highly appreciated!
 

dbailey

CSEG and Liaisons
Staff member
The variable in the ice model history that you need for ice fraction is aice. The variable aisnap is a "snapshot" instantaneous field, which is probably o.k. to use, but the monthly mean aice is a better value if you are using the monthly mean SST. You need to make sure in the stream_fldvarname in cice.buildnml.csh is 'aice' and not 'ice_cov'.

Dave
 

bates

Member
You can use SST from the model. If you are manipulating the data, be careful that you don't change the land points. You may want to compare your final input data with that in the sst_HadOIBl_bc_1.9x2.5_1850_2008_c100127.nc file to make sure all land/ocean points are still land/ocean and that you haven't made wacky values in grid boxes that are partially land. Also, I think the ice variable needs to be an ice fraction. Again, you could look at the original file and easily tell what form you need the SST and ice variables.

Susan
Ocean Model Science Liaison
 

hannay

Cecile Hannay
AMWG Liaison
Staff member
You can use SST and ice fraction coming from the ocn/ice history files. (you cannot use TS coming from the atmospheric model because you won't be able to extract the SST in grid box with partial land/ocean fraction).

You will need to fill the SST values over land (otherwise the model will crash).
There is a function in NCL that allow to replace all _FillValue values in a grid with values derived from solving Poisson's equation via relaxation (http://www.ncl.ucar.edu/Document/Functions/Built-in/poisson_grid_fill.shtml)
 
Hello!

I have another simple question regarding this same topic;

My purpose is basicly the same as Christofs. I would like to run a simulation with prescribed SSTs climatology (i.e. data-ocean), calculated with the SSTs coming from a fully coupled run with pop2. I need to find the SSTs from this fully coupled run, which was carried out at NCAR (output is on MSS) for the IPCC-5.

Unfortunately, I am unable to locate the "Sea-Surface-Temperature" field as such in any of the history files (ocn/ice/atm) on bluefire.

I found a field on the ocn history file (*.nday.*) called "Surface Potential Temperature". My guess is that this field is (equal to?) the SST field, that I could use as input for the data-ocean mode in the uncoupled run (following the procedures suggested, i.e. filling the continents with values), but I am not sure...

If not, what field from the standard history files could I use to derive the "correct" SSTs?

Thank you!
 
Hi guys, In the above disscusion, I think if we want to do a SST sensitive simulation of compset F, we can change the 'SSTICE_DATA_FILENAME' and so on.
 But, I noted that, for the option 'SSTICE_DATA_FILENAME' seems only valid for F/A compset. If I want to do the SST sensitive simulation of compset B, what should I do? Any suggestion is appreciated! Best,Dachao  
 

jedwards

CSEG and Liaisons
Staff member
In a B compset SST's are prognosed by the model, changing them will disrupt the flux balance between ocn and atm.
 
Jedwards, thanks for your reply.I want to do some work about the air-sea interaction, but as you said, the SST of compset B is caculated by the model, we can't change it.So what should I do if I want check the effect of air-sea interaction which caused by the SSTA in some region? Should I need do change the code?
Best,Dachao 
 

bidyut

BIDYUT BIKASH GOSWAMI
Member
You can use SST and ice fraction coming from the ocn/ice history files. (you cannot use TS coming from the atmospheric model because you won't be able to extract the SST in grid box with partial land/ocean fraction).

You will need to fill the SST values over land (otherwise the model will crash).
There is a function in NCL that allow to replace all _FillValue values in a grid with values derived from solving Poisson's equation via relaxation (poisson_grid_fill)
Hi Haanay,
I have a query regarding your comment "You will need to fill the SST values over land (otherwise the model will crash)."

I am doing an experiment where I am allowing Bay of Bengal SST only to warm and I am using climatological SST for the rest of the oceans. In doing so, I have selected a region over the Bay of Bengal to retain the warming. But the region I have selected, being a rectangular box, covers some land area as well north of the Bay of Bengal. My query is, will CESM see only the warming over the Bay of Bengal or will it sense the temperatures over the land area north of the Bay of Bengal also. Kindly suggest.
Bidyut
 
Top