Updated on Jan30,2007 by JH; by N. Zeng 6/2008;
A brief guide on using the UMD Earth system model (CABO)
The UMD model is a flexible Earth system model of intermediate complexity, that consists of the atmosphere, ocean, land, dynamic vegetation,
terrestrial and ocean carbon cycle components. These components can be relatively easily switched on and off, as you will see in the names
of the types of coupling one can do (See Chapters 1, 2).
Example 1: a run labled CABOa_ALV means: Atmosphere, Land, dynamic Vegetation are 'on'; while other processes are 'off', e.g.,
it would use observed SST for the Ocean, and atmospheric CO2 for greenhouse forcing, etc. This is the default version of provided by the package.
Example 2: CABOa_OALVC: the most fully coupled version including interactive Ocean, Atmo, Land, Vege, Carbon cycle, in which, among other things,
atmospheric CO2 is predicted and its impact on longwave radiation (greenhouse effect) and vegetation growth (CO2 fertilization effect) are dynamically
determined by the model. This is the C4MIP style run (Zeng et al., 2004).
Content of this document
- Individual packages can be available. Please contact us
- Major types of coupling using
CABO
>> Chapter
1
- HowToRun
>> Chapter 2
- Experiments
with
CABO
>> Chapter 3
- Descriotion of ESM0 simulation set up
>> Chapter 4
- Boundary
Data
>> Chapter 5
- ESM0 Coupling Notes
>> Chapter 6
Quick Start
1. Source
code available: please contact us (click here); or for internal use: /data/cordilleran/cabo/release/CABOa.tar.gz
This package
contains source code which can be converted into LV, ALV, OALV, OALVC
version as well as boundary forcing for
spin up experiments.
If you downloaded
this package, please do the following!
> mkdir modeling
> mv CABOa.tar.gz
./modeling
! or any other destination directory
> cd modeling
> tar -xzvf CABOa.tar.gz
> cd CABOa
>
./FIRST.sh
! check if your fortran compiler works; you may need to modify the
makefile
> cd proc
> grads -p
> grads>
clim.gs
! the output is in fortran binary, which we typically use the
software GrADS (grads.iges.org) to view
The package is prepare for ALV (AMIP-style) run. If you are interested in C4MIP style run (OCALV),
please use 'ALV2OCALV.sh'.
> cd CABOa
> ./ALV2OCALV.sh
Remember that we need spin-up runs...
./spinALV.sh (spin-up vegetation/land using observed SST).
./spinOALV.sh (compute the fluxes for mxl-ocean model and run extra 100 yrs)
After that, you can use the following scripts in ./work directory
couple.sh (fully coupled run)
uncouple.sh (uncouple run)
uncouple_tmp.sh (to obtain the temperature from uncouple run
we need
to obtain 'CO2atmo' and make a txt file)
We have provided some utilities to
convert the model versions (which is pretty easy if you want to do it
yourself).
Example: if you want to run LV version, you need to convert the default
ALV version into LV:
> mkdir modeling
> mv CABOa.tar.gz
./modeling
! any destination directory
> cd modeling
> tar -xzvf CABOa.tar.gz
> cd CABOa
>
ALV2LV.sh
! you will run spin-up run of LV version which brings land/vege to
equilibrium point.
> cd proc
> grads -p
> grads>
100yr.gs
! check vege/soil status (e.g., LAI).
If you want to change it back to
ALV,
please do the following:
in /CABOa
>
./LV2ALV.sh
If you want to change ALV to OALV (not Carbon Climate coupled yet),
please do the following:
in /CABOa
>
./ALV2OLAV.sh
2. Boundary
data : /data/cordilleran/cabo/release/bnddata_2.5x2.5.tar.gz
/data/cordilleran/cabo/release/bnddata_64x48.tar.gz
If
you want to run long-term simulation, these packages are necessary.
Chapter 1. Major types of couplings using CABO
1.1
Fully coupled carbon-climate (CABOa; effectively CABOa_OALVC)
Needs to be implemented and tested
Forcings:
Anthropogenic CO2 emission (from Bern; SRESA1B, A2)
- Aerosol/Volcano : zonal-averaged
aerosol optical visible depth (Tau_Vis) is available from Ammann et al.
(2003) and Meehl et al. (2003). Data can be obtained from http://www.ngdc.noaa.gov/paleo/forcing.html. Crowley
(2000)
has solar+volcano for last 1000yr
- Aerosol (Anthropogenic SO2) :
Horizontal distribution is available at the GISS : http://www.giss.nasa.gov/data/simodel/trop.aer/.
Time series cab be obtained at NOAA's Paleoclimate data site (Crowley
2000).
- Solar : Lean et al. (2002) for
last 400 years. This data may have several different sources.
- Land use change
Interactive
components:
- Ocean: Slab
- Atmo: QTCMg
5.625x3.75 (64x48)
- Land: Sland
(one layer for water, two layers for Temp)
- Vege: VEGAS
History
of Each components
- VEGAS :
./src/vege.F.Arrenhius_25C (Feb 14/2005)
- QTCMg :
./src/qtcm.F (modified from QTCM1v2.1)
- Sland :
./src/land.F
- Ocean : Slab
1.1+
Fully coupled carbon-climate (CABOa; effectively CABOa_OALVC);
Holocene version
Forcings: Anthropogenic CO2 emission (from Bern;
SRESA1B, A2)
- Aerosol/Volcano
: zonal-averaged aerosol optical visible depth (Tau_Vis) is available
from
Ammann et al. (2003) and Meehl et al. (2003). Data can be obtained from
http://www.ngdc.noaa.gov/paleo/forcing.html Crowley2000
has solar+volcano for last 1000yrNOAApaleo
- Aerosol (Anthropogenic SO2) :
Horizontal distribution is available at the GISS : http://www.giss.nasa.gov/data/simodel/trop.aer/.
Time series cab be obtained at NOAA's Paleoclimate data site (Crowley
2000).
- Solar : Lean et al. (2002) for
last 400 years. This data may have several different sources.
- Land use
change
Interactive
components:
- Ocean: Slab
- Atmo: QTCMg
5.625x3.75 (64x48)
- Land: Sland
(one layer for water, two layers for Temp)
- Vege: VEGAS
1.2 CO2 forced, interactive ocean, atmo, land, vegetation (CABOa_OALV)
Forcings:
Anthropogenic CO2 emission (from Bern; SRESA1B, A2)
- Aerosol/Volcano : zonal-averaged
aerosol optical visible depth (Tau_Vis) is available from Ammann et al.
(2003) and Meehl et al. (2003). Data can be obtained from http://www.ngdc.noaa.gov/paleo/forcing.html. Crowley2000
has solar+volcano for last 1000yrNOAApaleo
- Aerosol (Anthropogenic SO2) :
Horizontal distribution is available at the GISS : http://www.giss.nasa.gov/data/simodel/trop.aer/.
Time series cab be obtained at NOAA's Paleoclimate data site (Crowley
2000).
- Solar : Lean et al. (2002) for
last 400 years. This data may have several different sources.
- Land use change
Interactive
components:
- Ocean:
Slab
- Atmo:
QTCMg 5.625x3.75 (64x48)
- Land:
Sland
(one layer for water, two layers for Temp)
- Vege:
VEGAS
1.3
SST forced, interactive atmo, land, vegetation (CABOa_ALV)
Forcings:
SST: GISST 1871-2002
- CO2
: Observed change
- Aerosol/Volcano : zonal-averaged
aerosol optical visible depth (Tau_Vis) is available from Ammann et al.
(2003) and Meehl et al. (2003). Data can be obtained from http://www.ngdc.noaa.gov/paleo/forcing.html. Crowley2000
has solar+volcano for last 1000yrNOAApaleo
- Aerosol (Anthropogenic SO2) :
Horizontal distribution is available at the GISS : http://www.giss.nasa.gov/data/simodel/trop.aer/.
Time series cab be obtained at NOAA's Paleoclimate data site (Crowley
2000).
- Solar : Lean et al. (2002) for
last 400 years. This data may have several different sources.
- Land use change
Interactive
components:
- Atmo:
QTCMg 5.625x3.75 (64x48)
- Land:
Sland (one layer for water, two layers for Temp)
- Vege:
VEGAS
1.3+
C20C protocol
Forcings :
- CO2
: Observed change from Hadley (1871-present)
- Volcanic
stratospheric forcing (1950-present)
- Tropospheric
and stratospheric ozone
- HadSST
1.4 Offline land/vege model forced by atmospheric Prec, Temp, etc. (CABOa_LV)
Forcings:
- AtmoRead:
Prec (CRU2.0 + Xie: Jan1901 �€“ Oct2004) and
Temp(CRU2.0 + GISS: Jan1901 �€“ Apr2004)
- CO2
fixed at 281
- Land
Use Change (potentially)
Interactive
components:
- Land:
Sland (one layer for water, two layers for Temp)
- Vege:
VEGAS
Chapter 2. How to Run CABOa
0. CABOa Directory structure
../CABOa : model tar package
./bnddata* : time-invariant boundary data
STYPE/TOPO...
./inidata : For the ensemble experiments using driver.F.ALV,
./proc : Where output go
./src : Source program and make file to compile
./work : Your working scripts
./qtcmpar : Parameters for QTCMg model
from UCLA
*Boundary data for long-term simulation
../bnddata_64x48 : SST_HADSST (1870-current)
../bnddata_1.0x1.0 : CRU_TS2.0 (1901-2000)
../bnddata_2.5x2.5 : CRU_TS2.0 (1901-2000)
1. Basic
- This
document explains what/how to do when you have CABOa.tar.gz
- You
also need bnddata* files for long-term simulation.
- ALV
: Atmo-Land-Vege interactive (Default)
- LV
: Land-Vege interactive
- OALV
: Ocean-Atmo-Land-Vege interactive
- OALVC
: Ocean-Atmo-Land-Vege-Carbon interactive
2. To Run ALV
ALV
is default now. You don't need to do the below at the beginning.
Currently, 64x48 version is workiing (5.625 x 3.75).
Let's assume you want to change the model from LV to ALV.
Please use 'LV2ALV.sh' in /CABOa as mentioned above.
Step by step instructions are
# Step 1 point to appropriate boundary data (time-invariant
field)
rm -f
./bnddata
# remove the previous one
ln -s ./bnddata_64x48
./bnddata
# link bnddata_64x48-> bnddata
# Step 2 in src
cd src
cp -f hgrid_64x48.h
hgrid.h
# Change hgrid.h to 64x48
#
driver.F.ALV
# AtmoDriv() which calls QTCMg
# in place of AtmoRead() [LV]
cp driver.F.ALV
driver.F
# Copy driver.F.ALV to driver.F
# make sure it works on your platform, and compiler
cp -f
makefile.ifc makefile
# Choose a propoer makefile
# Successfully tested on IFORT on linux
#cp -f makefile.dec
makefile
# f90 on Dec (Unix)
#cp -f makefile.declinux
makefile
# fort on Dec (Linux)
#cp -f makefile.tempest
makefile
# f90 on Sun ('tempest' at NCAR)
make clean
make
# Compile
cd ..
# Step 3 run the model
# make sure bnddir2 in #.sh # Check your Prec/Tmp data and
path :
cd work
./spin_ALV.sh
# spin-up to reach equilibrium state for
# soil/vege carbon pools
# for 200yr w/ 140yr acceleration for
# slow
carbon pools.
# This step is necessary
2.1 Important user parameters
- SSTMODE (decide SST
is seasonal or realtime)
- ilandon (decide LAND
interactive or not)
- ivegeon (decide VEGE
interactive or not)
2.2 Albedo feedback w/ anomaly coupling
Now, Albedo feedback is included
- ivegon = 1 : No Albedo Feedback
- ivegon = 2 : No Vege
- ivegon = 3 : Anomaly coupling
- ivegon = 4 : Anomaly coupling + time scale (tau=5yr)
2.3 Climate Forcing
Now, we can include 'Solar variability/Volcanic/Aerosol forcing as
simple radiative forcing'
as default
- SolarNew=1366.2708
! yr = 1870 value
- CFVolca =0.
- CFAeros =0.
- To turn on these : getbnd.F.ALV
- Read
From 1890 when the 2D volcano data is available
- Solar
Constant is from 1610 (Lean et al.2000)
- Aerosol
is from 1800 (GISS+CROWLEY)
- Volvano
is from 1890 (Ammann et al.)
- Boundary
data is compressed now (./bnddata_64x48/ClimForcing)
2.4 Topographic effect w/ additional heating
Tested by Massimo/Implemented by JINHO
- as
a default, addhf=0.
- To change this : getbnd.F.ALV
- How
to construct the additional heating is an issue!
- further discussion w/ Massimo and Ning
- Test shows no big/drastic improvement. -JH
2.5 Scripts
Pleaes use these as default scripts (in ./work)
- spin_ALV.sh : CO2
level has to be fixed.
- rdsst.sh
: realtime SST run after spin-up
- ensini.sh :
prepare initical conditions for the ensemble run
- ensemble.sh : ensemble run
3. To Run LV
It is not default. You have to make the following changes to run
LV.
Currently,
we tested 2.5x2.5 (144x72) and 1.0x1.0 (360x180) versions.
Let's assume we are going to use 144x72.
In a simple and easy way to do is
using a script 'ALV2LV.sh' in CABOa.
> ./ALV2LV.sh
Step by step instruction is
following.
< style="color: rgb(0, 0, 0);">
#Step 1 point to appropriate boundary data (time-invariant
field)<>
rm -f
./bnddata
# remove the previous
one
ln -s ./bnddata_2.5x2.5
./bnddata # link bnddata_2.5x2.5-> bnddata
# Step 2 in src
cd src
cp -f hgrid_144x72.h
hgrid.h # Change
hgrid.h to 144x72 or 360x180
#
driver.F.LV
# reads prec,Ts
etc using AtmoRead(),
# in place of AtmoDriv() [ALV]
cp driver.F.LV
driver.F
# Copy driver.F.LV to driver.F
# make sure it works on your
platform, and compiler
cp -f
makefile.ifc makefile
# Choose a propoer makefile
# Successfully tested on IFORT on linux
#cp -f
makefile.dec makefile
# f90 on Dec (Unix)
#cp -f makefile.declinux
makefile # fort on Dec (Linux)
#cp -f makefile.tempest
makefile # f90 on Sun ('tempest' at NCAR)
make clean
make
# Compile
cd ..
# Step 3 run the model
# make sure bnddir2 in #.sh # Check
your Prec/Tmp data and path :
cd work
./spin_LV.sh
# spin-up to reach equilibrium state for
# soil/vege carbon pools
# for 300yr w/ 200yr acceleration for
# slow carbon pools.
3.1 Important user parameters
- ATMODE (decide
Prec/Ts is seasonal or realtime)
- IDMO (Diagnostic
Model Output to use 'pool_flux.gs')
3.2
Scripts
Pleaes use these as default scripts (in ./work)
- spin_LV.sh :
- pool.sh :
check the vegetation fluxes using pool_flux.gs
- lv_rt_mo.sh : realtime run for 100yr with
monthly output
- ensemble.sh : same except yearly output
3. To run OALV
- spin_OALV.sh
: mixed-layer model spinup [run the full
3-step mxlayer spinup (produce Qflux for esm.sh)]
- ensemble_GSAV.sh
: forced by Greenhouse gas, Solar, Aerosol, and Volcano forcing
Only seasonal
climatological boundary forcing is within the package. To run
'GSAV', please contact us.
4.
Remarks
- Resolution
can be changed in hgrid.h
- Radiation
(*.rsn and *.rad) is 12-month climatology for now
- Interannually
change radiation is ready (using NCEP/NCAR R1)
4.1 History
- We take
the ELV (from Ning) and make to the CABOa
- Offline
Vege/Land > fully coupled model : LV --> CABOa
4.2 Codes
- land.F
- cond= CDN*VsE(i) !aerodynamic conductance
- cond=
CDN*(VsE(i)+1.e-10) !@@@ "CABOa Without
+1.e-10, the model will 'blow-up'."
4.3 Makefile
With
Intel Fortran Compiler 8.0 needs some
more libraries (Vaxlib) : ifort -w -Vaxlib -vec_report0 -extend_source -axW
- Vaxlib
: needs some more libraries
- w
: Turn off all the warnings.
- extend_source
: Fortran 77 compatibility
- axW
: Optimization for Intel P4. If you have
different CPU, you have to choose different one.
With Dec machine makefile.dec
(DEC Alpha with Linux, fortran 90/95 compiler) we don't need
all the above options.
Chapter 3. Experiments with CABOa at UMD
3.1 CABOa-ALV : CO2 read and Land/Vege interactive
- Global
SST (e.g., GOGA)
- Tropical/Extra
Tropical SST (e.g., TOGA)
- Basin
SSTs (Tropical PAC/ATL/IND, APAC, AATL)
3.2 CABOa-LV : GSWP2 Baseline experiments
- Prec/Tmp
(CRU2.0)
- Radiation
from ERA40
- Fixed
land/vege
3.3 CABOa-AL : CO2 read and Land interactive
3.4 CABOa-A : CO2 read
3.5 UsingMixed-Layer Ocean model
3.6 Volcano/Aerosol forcing?
Chapter 4. Description of ESM0 simulation setup (with IPCC A1b)
Interactive
components:
- Ocean:
Slab mixed layer ocean model [Hansen]
- Atmo:
QTCMg 5.625x3.75 (64x48)
- Land:
Sland (one layer for water, two layers for Temp)
- Vege:
VEGAS
4.1 CO2 related vars in esm0
- co2obs
: observation co2, after 2000, it is Anthropogenic CO2 emissionIPCC
A1b scenario
- co2atmo
: model output atmosphere co2
- co2atmov
: co2 used in vege fertilization
- co2rad : CO2 used in the long raditaion function
4.2 Experiments design:
Spin-up :
- Given
co2=330 at qtcm initial condition and
- then
nudge it to co2obs=281 ppmv in the spinup run.
- No
Emission input.
- use
Cemi=Cemi+(CO2obs-CO2atmo)*2.05/10 to nudge to co2obs=281ppmv
- note:
co2atmov=co2rad=co2atmo
Coupled :
- co2obs
is IPCC A1b(referring) no using .
- Now
Anthropogenic CO2 emission IPCC A2 scenario is added as emission forcing
- note:
co2rad=co2atmov=co2atmo
Uncoupled :
- keep co2rad=280.0. This will keep
temperature no change.
- Anthropogenic
CO2 emission IPCC A1b scenario is added ,
- co2atmov=co2atmo
is forcing for the vegetation activities.
- co2atmo
is simulated by esm0 without feedback back (diff from coupled run).
- note:
co2atmov=co2atmo, co2rad=280.0.
Remarks :
- @@@@
co2atmo is modelled , we use Radiative physical model to simulate
temperature forced by co2atmo.
- drawing
co2atmo and treat it as co2obs in REAL run, setting co2rad=co2obs
- note: co2atmo --> co2rad
Real :
- reading
co2 data and use it as forcing to run esm0
- co2atmov=co2rad=co2obs,
co2atmo is output (zeng's intial offline designs)
- This run is to simulate temperature of the IPCC A1b CO2
and second part of uncoupled run to simulate temperature.
- note:
co2obs --> co2rad
- co2atmov=co2rad=co2obs
4.3 UMD2:
This
simulation use Anthropogenic CO2 emission IPCC A2 (from Bern; SRESA1B,
A2) and in ocean in ocean carbon part we modified the ocean uptake to
hope its uptake C of around 120(118+-9 Gtc) in 1860-2000. The
simulation setup is same as esm0.
Chapter 5. Boundary Data
5.1 Fixed Field
- STYPE
: inherited from QTCM. Originally derived from BATS
- TOPO
: Absolute height (m) and Its gradient (m/m). Originally from NGDC
- ICE
:
Ice coverage over the land-surface (SP and Greenland). Origianlly from
Peltier
- ALBEDO : Climatological
Albedo.
Originally from Darnell (Our model does not have Albedo feedback
currently).
5.2 Time-varing field
- Aerosol/Volcano
: zonal-averaged aerosol optical visible depth (Tau_Vis) is available
from Ammann et al. (2003) and Meehl et al. (2003). Data can be obtained
from http://www.ngdc.noaa.gov/paleo/forcing.html. Crowley2000
has
solar+volcano for last 1000yrNOAApaleo
- Aerosol
(Anthropogenic SO2) : Horizontal distribution is available at the GISS
: http://www.giss.nasa.gov/data/simodel/trop.aer/.
Time series cab be obtained at NOAA's Paleoclimate data site (Crowley
2000).
- Solar
: Lean et al. (2002) for last 400 years. This data may have several
different sources.
- Land use change
- GISST
: Monthly 1871--2002
5.3 Offline simulation
- Prec
: CRU2.0 + Xie (Jan1901 �€“ Oct2004)
- Temp
: CRU2.0 + GISS (Jan1901 �€“ Apr2004)
- Others
: Radiation (Rsnet and FSWds), Wind-Speed, Vapor pressure
Chapter 6. ESM_coupling_notes
landon=0 : iSTYPE set
to 0 (in [drivinit]), everywhere like ocean; specifically:
- Ts
uses SST everywhere (update Ts if iSTYPE=0 in AtmoDriv)
<>ALBDs
uses observed value (see entry on ALBDs). If a true aqua-planet
is desired, ALBDs needs water value (~.1) on 'land'
- <>Roughness
length Zrough=0.0024 (ocean) everywhere in VegeDriv; this is also set as
initial value in QTCM's [bndinit] so it will stay if VegeDriv is not
called.
landon=1
(default) : For all the
points iSTYPE.ne.0, land will do:
- Ts
- Evap,
FTs which are passed to [AtmoStep]. Since [sflux] in qtcm
calculates its own Evap/FTs, only land values are updated as
Evapin=Evap...
- After
[VegeStep], Zrough is calculated as a function of vege height
(vhmean), controlled by
iSTYPE through landon in [VegeDriv]
landon=2
- Like
landon=1; except using prescripd WDclim to replace WD
ivegon=0
- vc=1,beta=swet**.25
in [LandStep]; QTCM original formulation;
- however,
Zrough (used by CDN for evap/FTs) and ali (used by interception loss Evapi)
need to be given to [LandStep] @@@
ivegon=1
(default)
- interactive
ivegon=2
- as
=1, but with ali=aliclim (prescribed climatology with seasonal cycle)
***
Comments on passing Evap/FTs between land and atmo
- We
compute fluxes in atmo [sflux] assuming everywhere is ocean (but using input Zrough
so over land it is so-called 'swamp' evap, if Zrough is not like ocean
which can be controlled after [VegeStep] in driver). To facilitate
offline simulation, land calculates its own Evap/FTs. These are passed into
[AtmoStep] as Evapin/FTsin which are then used by [barcl]. Thus atmo is using
the Evap/FTs over ocean from the previous timestep rather than the current
values calculated in [sflux].
- Advantage:
more modular; great for offline land/vege simulations
- Drawback: values
from previous timestep; imperfection in restart run
***
ALBDs (used by AtmoStep):
- Currently observed (Darnell) annual mean initialized in
[drivinit];
- <>However
in a truely interactive mode, ALBDs=ALBDsv where ALBDsv is
predicted by the vegetation model as (from VEGAS code):
- <>c-
compute albedo given vegetation; from .45-.1 when alit from 0-infty c @Note:
since alit is rescaled later by vegc, this needs modification
- ALBDs(i)
= .45 - .35 * ( 1. - exp( -.5*alitmp ) ) and if
icem=1, ALBDs is set to 0.8
***
Roughness length Zrough
- Roughness
length Zrough=0.0024 over ocean, and land if landon=0 also set as
initial value in QTCM's [bndinit]
- if
landon=1: After
[VegeStep], Zrough is calculated as a function of vege height
(vhmean), controlled by iSTYPE through landon in [VegeDriv]; so if
vhmean=0 (VegeStep is not called at all,and initial vhmean=0), Zrough=0.05
(desert) everywhere Zrough is passed to [AtmoStep] and [LandStep] and
used by CDN (then
<>
- Evap/FTs/wind
stress)
***
ice
- ice
covered region are treated like ocean with ALBDs=0.8