Added desert planet mode. Also made the soil heat capacity visible to landmod_namelist.

This commit is contained in:
Adiv Paradise committed 2018-08-09 12:51:32 -04:00
1 parent 494510567a
commit 3b5589255f
4 files changed
+31 -4

No files matched your search

+6 -1
View File
@@ -136,7 +136,7 @@
& ,albgmin,albgmax,nwetsoil &
& ,dsmax,wsmax,drhsfull,dzglac,dztop,dsoilz &
& ,rlue,co2conv,tau_veg,tau_soil &
& ,rnbiocats,nwetsoil &
& ,rnbiocats,nwetsoil,soilcap &
& ,newsurf,rinifor,nwatcini,dwatcini
!
dtclsoil(:) = tmelt
@@ -154,6 +154,11 @@
! dsnowt(:) = tmelt_CO2
endif
if (ndesert == 1 .and. nrestart == 0) then
dwatcini = 0.0
dwater(:) = 0.0
endif
if (mypid == NROOT) then
open(12,file=landmod_namelist)
read(12,landmod_nl)
+12 -2
View File
@@ -208,6 +208,7 @@ plasimversion = "https://github.com/Edilbert/PLASIM/ : 15-Dec-2015"
call mpbci(kick ) ! add noise for kick > 0
call mpbci(naqua ) ! aqua planet switch
call mpbci(ndesert ) ! desert planet switch
call mpbci(nveg ) ! vegetation switch
call mpbci(noutput ) ! write data switch
call mpbci(nafter ) ! write data interval
@@ -974,7 +975,7 @@ plasimversion = "https://github.com/Edilbert/PLASIM/ : 15-Dec-2015"
namelist /plasim_nl/ &
kick , mpstep , nadv , naqua , ncoeff &
, ndel , ndheat , ndiag , ndiagcf , ndiaggp &
, ndiaggp2d , ndiaggp3d &
, ndiaggp2d , ndiaggp3d , ndesert &
, ndiagsp , ndiagsp2d , ndiagsp3d &
, ndl , nentropy, nentro3d, neqsig , nflux &
, ngui , nguidbg , nhdiff , nhordif , nkits &
@@ -1017,11 +1018,20 @@ plasimversion = "https://github.com/Edilbert/PLASIM/ : 15-Dec-2015"
open(11,file=plasim_namelist,form='formatted')
read (11,plasim_nl)
! aqua planet settings
if ((ndesert == 1) .and. (naqua == 1)) then !If both toggled, turn off both
naqua = 0
ndesert = 0
endif
! aqua planet settings
if (naqua == 1) then
nveg = 0 ! switch off vegetation
endif
! We won't turn off vegetation for the desert planet, figuring that interested parties
! might appreciate having the vegetation naturally respond to low moisture.
! set rotation dependent variables
+1
View File
@@ -154,6 +154,7 @@
integer :: noutput = 1 ! master switch for output: 0=no output
integer :: nafter = 0 ! write data interval: 0 = once per day
integer :: naqua = 0 ! 1: switch to aqua planet mode
integer :: ndesert = 0 ! 1: switch to desert planet mode
integer :: nveg = 1 ! 1: run vegetation module
integer :: ncoeff = 0 ! number of modes to print
integer :: ndiag = 0 ! write diagnostics interval 0 = every 10th. day
+12 -1
View File
@@ -371,8 +371,19 @@
sp(:) = 0.0 ! spectral pressure
spm(:) = 0.0 ! spectral pressure scattered
endif
! Desert planet settings
if (nrestart == 0 .and. naqua == 0) then ! need to read start data
if (nrestart == 0 .and. ndesert /= 0) then
n_sea_points = 0 ! No gridpoints are water
dls(:) = 1.0 ! land/sea mask ro water
doro(:) = 0.0 ! gridpoint orography (flat)
so(:) = 0.0 ! spectral orography
sp(:) = 0.0 ! spectral pressure
spm(:) = 0.0 ! spectral pressure scattered
endif
if (nrestart == 0 .and. naqua == 0 .and. ndesert == 0) then ! need to read start data
call mpsurfgp('doro',doro,NHOR,1)
call mpsurfgp('dls' ,dls ,NHOR,1)
if (npro == 1) then ! print only in single core runs