missing input file for NPZD

Discussion about coupled ecosystem models

Moderators: arango, robertson

Post Reply
Message
Author
andreykoch

missing input file for NPZD

#1 Unread post by andreykoch »

Hi all,

When I'm starting ROMS_3.0 with NPZD_POWELL defined I'm getting an error at the very beginning:
READ_PHYPAR - could not find input file: ^@^@......^@
I'm providing ini and bnd information for all 4 biological tracers (NO3, phytoplankton, zooplankton, and detritus).
I'm wondering, what input file does it require?

any suggestions? - thanks

my *.h file:
#define NL_MODEL
#undef FORWARD_READ

#ifdef NL_MODEL
# undef ADJOINT
# undef TANGENT
# undef WEAK_CONSTRAINT
# undef IOM
#endif

#undef OUT_DOUBLE

#undef USE_WIND_STRESS /* use sustr, svstr from input file instead of Uwind, Vwind */

#undef DIAGNOSTICS_TS
#undef DIAGNOSTICS_UV

#undef FORWARD_WRITE

#define UV_ADV
#undef UV_SADVECTION
#define DJ_GRADPS /* Splines density Jacobian (Shchepetkin, 2000) */
#define UV_COR
#define UV_QDRAG
#define UV_VIS2
#define MIX_S_UV
#undef MIX_S_TS
#define MIX_ISO_TS
#define TS_DIF2
#define TS_U3HADVECTION
#define TS_C4VADVECTION

#define SOLVE3D
#define SALINITY
#define NONLIN_EOS
#define CURVGRID
#define SPLINES
#define MASKING

/* Select only one vertical turbulence closure option */
#define MY25_MIXING
#ifdef MY25_MIXING
# undef N2S2_HORAVG
# undef KANTHA_CLAYSON
#endif
#undef GLS_MIXING
# define NPZD_POWELL
#if defined BIO_FASHAM || defined ECOSIM || defined NPZD_POWELL
# define ANA_BIOLOGY
# define ANA_SPFLUX
# define ANA_BPFLUX
#endif

/* Surface boundary condition settings */
/* I have Uwind, Vwind, Tair, Pair, Qair, */
/* short wave radition flux and rain */
#define BULK_FLUXES
#ifdef BULK_FLUXES
# define LONGWAVE /* undef to read net longwave, define to use Berliand */
# undef LONGWAVE_OUT /* define to read downward longwave, compute outgoing */
# define DIURNAL_SRFLUX /* impose shortwave radiation local diurnal cycle */
# undef ANA_SRFLUX /* analytical surface shortwave radiation flux */
# undef ALBEDO /* use albedo equation for shortwave radiation */
# define ANA_CLOUD /* analytical cloud fraction => zero cloud */
# define SOLAR_SOURCE /* solar shortwave distributed over water column */
# undef EMINUSP /* turn ON internal calculation of E-P */
# define ANA_RAIN /* zero rain, with eminusp option can use ncep rain data */
# define ANA_SSFLUX /* analytical surface salinity flux */
#else
# define ANA_SMFLUX /* analytical surface momentum stress */
# define ANA_STFLUX /* analytical surface temperature flux */
# define ANA_SSFLUX /* analytical surface salinity flux */
#endif

/* Bottom boundary condition settings */
#define ANA_BSFLUX
#define ANA_BTFLUX

/* Lateral boundaries */
/* Begin open boundary condition settings */

#define EASTERN_WALL

#define NORTH_M2FLATHER
#define SOUTH_M2FLATHER
#define WEST_M2FLATHER

#define NORTH_FSCHAPMAN
#define SOUTH_FSCHAPMAN
#define WEST_FSCHAPMAN

#define RADIATION_2D /* Tangential phase speed in radiation conditions */

#define NORTH_M3RADIATION /* Western edge, 3D momentum, radiation condition */
#define SOUTH_M3RADIATION /* Western edge, 3D momentum, radiation condition */
#define WEST_M3RADIATION /* Western edge, 3D momentum, radiation condition */

#define NORTH_M3NUDGING /* Western edge, 3D momentum, passive/active term */
#define SOUTH_M3NUDGING /* Western edge, 3D momentum, passive/active term */
#define WEST_M3NUDGING /* Western edge, 3D momentum, passive/active term */

#define NORTH_TRADIATION /* Western edge, tracers, radiation condition */
#define SOUTH_TRADIATION /* Western edge, tracers, radiation condition */
#define WEST_TRADIATION /* Western edge, tracers, radiation condition */

#define NORTH_TNUDGING /* Western edge, tracers, passive/active term */
#define SOUTH_TNUDGING /* Western edge, tracers, passive/active term */
#define WEST_TNUDGING /* Western edge, tracers, passive/active term */

#define SPONGE

#define ASSUMED_SHAPE
#define DOUBLE_PRECISION
#define POWER_LAW
#define PROFILE
#define K_GSCHEME
#define UV_U3HADVECTION
#define VAR_RHO_2D
# undef T_PASSIVE
# undef PERFECT_RESTART
my *.in file:
! Application title.

TITLE = CTZ3km, Apr-Aug 2002 run

! C-preprocessing Flag.

MyAppCPP = ANDREY_BIO

! Input variable information file name. This file needs to be processed
! first so all information arrays can be initialized properly.

VARNAME = /home/rex/akoch/ROMS_3.0/ROMS/External/varinfo.dat

! Grid dimension parameters. See notes below in the Glossary for how to set
! these parameters correctly.

Lm == 134 ! Number of I-direction INTERIOR RHO-points
Mm == 248 ! Number of J-direction INTERIOR RHO-points
N == 40 ! Number of vertical levels

Nbed = 0 ! Number of sediment bed layers

NAT = 2 ! Number of active tracers (usually, 2)
NPT = 0 ! Number of inactive passive tracers
NCS = 0 ! Number of cohesive (mud) sediment tracers
NNS = 0 ! Number of non-cohesive (sand) sediment tracers

! Domain decomposition parameters for serial, distributed-memory or
! shared-memory configurations used to determine tile horizontal range
! indices (Istr,Iend) and (Jstr,Jend), [1:Ngrids].

NtileI == 2 ! I-direction partition
NtileJ == 4 ! J-direction partition

! Time-Stepping parameters.

! NTIMES == 187200
! DT == 450.0d0
! NTIMES == 234000
! DT == 360.0d0
NTIMES == 350640
DT == 240.0d0
NDTFAST == 50

! Model iteration loops parameters.

ERstr = 1
ERend = 1
Nouter = 1
Ninner = 1
Nintervals = 1

! Number of eigenvalues (NEV) and eigenvectors (NCV) to compute for the
! Lanczos/Arnoldi problem in the Generalized Stability Theory (GST)
! analysis. NCV must be greater than NEV (see documentation below).

NEV = 2 ! Number of eigenvalues
NCV = 10 ! Number of eigenvectors

! Input/Output parameters.

NRREC == 0
LcycleRST == T
NRST == 360
NSTA == 180
NFLT == 180
NINFO == 180

! Output history, average, diagnostic files parameters.

LDEFOUT == T
NHIS == 60
NDEFHIS == 360
NTSAVG == 1
NAVG == 360
NDEFAVG == 0
NTSDIA == 1
NDIA == 360
NDEFDIA == 0

! Output tangent linear and adjoint models parameters.

LcycleTLM == F
NTLM == 24
NDEFTLM == 0
LcycleADJ == F
NADJ == 24
NDEFADJ == 0

! Output check pointing GST restart parameters.

LrstGST = F ! GST restart switch
MaxIterGST = 500 ! maximun number of iterations
NGST = 10 ! check pointing interval

! Relative accuracy of the Ritz values computed in the GST analysis.

Ritz_tol = 1.0d-15

! Harmonic/biharmonic horizontal diffusion of tracer: [1:NAT+NPT,Ngrids].

TNU2 == 15.0d0 15.0d0 ! m2/s
TNU4 == 2.0d+8 2.0d+8 ! m4/s

! Harmononic/biharmonic, horizontal viscosity coefficient: [Ngrids].

VISC2 == 15.0d0 ! m2/s
VISC4 == 4.0d+8 ! m4/s

! Vertical mixing coefficients for active tracers: [1:NAT+NPT,Ngrids]

AKT_BAK == 1.0d-6 1.0d-6 ! m2/s

! Vertical mixing coefficient for momentum: [Ngrids].

AKV_BAK == 1.0d-5 ! m2/s

! Turbulent closure parameters.

AKK_BAK == 5.0d-6 ! m2/s
AKP_BAK == 5.0d-6 ! m2/s
TKENU2 == 0.0d0 ! m2/s
TKENU4 == 0.0d0 ! m4/s

! Generic length-scale turbulence closure parameters.

GLS_P == 0.d0 ! K-epsilon
GLS_M == 1.d0
GLS_N == 1.d0
GLS_Kmin == 5.0d-6
GLS_Pmin == 5.0d-6

GLS_CMU0 == 0.5444d0
GLS_C1 == 0.9d0
GLS_C2 == 0.5d0
GLS_C3M == 0.9d0
GLS_C3P == 0.9d0
GLS_SIGK == 1.96d0
GLS_SIGP == 1.96d0

! Constants used in surface turbulent kinetic energy flux computation.

CHARNOK_ALPHA == 1400.0d0 ! Charnok surface roughness
ZOS_HSIG_ALPHA == 0.5d0 ! roughness from wave amplitude
SZ_ALPHA == 0.25d0 ! roughness from wave dissipation
CRGBAN_CW == 100.0d0 ! Craig and Banner wave breaking

! Constants used in momentum stress computation.

RDRG == 3.0d-04 ! m/s
RDRG2 == 2.5d-03 ! nondimensional
Zob == 0.01d0 ! m
Zos == 0.02d0 ! m

! Height (m) of atmospheric measurements for Bulk fluxes parameterization.

BLK_ZQ == 10.0d0 ! air humidity
BLK_ZT == 10.0d0 ! air temperature
BLK_ZW == 10.0d0 ! winds

! Minimum depth for wetting and drying.

DCRIT == 0.10d0 ! m

! Various parameters.

WTYPE == 1
LEVSFRC == 39
LEVBFRC == 1

! Vertical S-coordinates parameters, [1:Ngrids].

THETA_S == 5.0d0 ! 0 < THETA_S < 20
THETA_B == 0.4d0 ! 0 < THETA_B < 1
TCLINE == 50.0d0 ! m

! Mean Density and Brunt-Vaisala frequency.

RHO0 = 1025.0d0 ! kg/m3
BVF_BAK = 1.0d-5 ! 1/s2

! Time-stamp assigned for model initialization, reference time
! origin for tidal forcing, and model reference time for output
! NetCDF units attribute.

DSTART = 0.0d0 ! days
TIDE_START = 0.0d0 ! days
TIME_REF = 20000101.0d0 ! yyyymmdd.dd

! Nudging/relaxation time scales, inverse scales will be computed
! internally, [1:Ngrids].

TNUDG == 3.0d0 3.0d0 ! days
ZNUDG == 3.0d0 ! days
M2NUDG == 3.0d0 ! days
M3NUDG == 3.0d0 ! days

! Factor between passive (outflow) and active (inflow) open boundary
! conditions, [1:Ngrids]. If OBCFAC > 1, nudging on inflow is stronger
! than on outflow (recommended).

OBCFAC == 3.0d0 ! nondimensional

! Linear equation of State parameters:

R0 == 1027.0d0 ! kg/m3
T0 == 10.0d0 ! Celsius
S0 == 35.0d0 ! PSU
TCOEF == 1.7d-4 ! 1/Celsius
SCOEF == 7.6d-4 ! 1/PSU

! Slipperiness parameter: 1.0 (free slip) or -1.0 (no slip)

GAMMA2 == 1.0d0

! Starting (DstrS) and ending (DendS) day for adjoint sensitivity forcing.
! DstrS must be less or equal to DendS. If both values are zero, their
! values are reset internally to the full range of the adjoint integration.

DstrS == 0.0d0 ! starting day
DendS == 0.0d0 ! ending day

! Starting and ending vertical levels of the 3D adjoint state variables
! whose sensitivity is required.

KstrS == 1 ! starting level
KendS == 1 ! ending level

! Logical switches (TRUE/FALSE) to specify the adjoint state variables
! whose sensitivity is required.

Lstate(isFsur) == F ! free-surface
Lstate(isUbar) == F ! 2D U-momentum
Lstate(isVbar) == F ! 2D V-momentum
Lstate(isUvel) == F ! 3D U-momentum
Lstate(isVvel) == F ! 3D V-momentum

! Logical switches (TRUE/FALSE) to specify the adjoint state tracer
! variables whose sensitivity is required (NT values are expected).

Lstate(isTvar) == F F ! tracers

! Stochastic optimals time decorrelation scale (days) assumed for
! red noise processes.

SO_decay == 2.0d0 ! days

! Logical switches (TRUE/FALSE) to specify the state surface forcing
! variable whose stochastic optimals is required.

SOstate(isUstr) == T ! surface u-stress
SOstate(isVstr) == T ! surface v-stress

! Logical switches (TRUE/FALSE) to specify the surface tracer forcing
! variable whose stochastic optimals is required (NT values are expected).

SOstate(isTsur) == F F ! surface tracer flux

! Stochastic optimals surface forcing standard deviation for
! dimensionalization.

SO_sdev(isUstr) == 1.0d0 ! surface u-stress
SO_sdev(isVstr) == 1.0d0 ! surface v-stress
SO_sdev(isTsur) == 1.0d0 1.0d0 ! NT surface tracer flux

! Logical switches (TRUE/FALSE) to activate writing of fields into
! HISTORY output file.

Hout(idUvel) == T ! 3D U-velocity
Hout(idVvel) == T ! 3D V-velocity
Hout(idWvel) == T ! 3D W-velocity
Hout(idOvel) == T ! omega vertical velocity
Hout(idUbar) == T ! 2D U-velocity
Hout(idVbar) == T ! 2D V-velocity
Hout(idFsur) == T ! free-surface
Hout(idBath) == T ! time-dependent bathymetry

Hout(idTvar) == T T ! temperature and salinity

Hout(idUsms) == F ! surface U-stress
Hout(idVsms) == F ! surface V-stress
Hout(idUbms) == F ! bottom U-stress
Hout(idVbms) == F ! bottom V-stress

Hout(idUbrs) == F ! bottom U-current stress
Hout(idVbrs) == F ! bottom V-current stress
Hout(idUbws) == F ! bottom U-wave stress
Hout(idVbws) == F ! bottom V-wave stress
Hout(idUbcs) == F ! bottom max wave-current U-stress
Hout(idVbcs) == F ! bottom max wave-current V-stress

Hout(idUbot) == F ! bed wave orbital U-velocity
Hout(idVbot) == F ! bed wave orbital V-velocity
Hout(idUbur) == F ! bottom U-velocity above bed
Hout(idVbvr) == F ! bottom V-velocity above bed

Hout(idW2xx) == F ! 2D radiation stress, Sxx component
Hout(idW2xy) == F ! 2D radiation stress, Sxy component
Hout(idW2yy) == F ! 2D radiation stress, Syy component
Hout(idU2rs) == F ! 2D radiation U-stress
Hout(idV2rs) == F ! 2D radiation V-stress
Hout(idU2Sd) == F ! 2D U-Stokes velocity
Hout(idV2Sd) == F ! 2D V-Stokes velocity

Hout(idW3xx) == F ! 3D radiation stress, Sxx component
Hout(idW3xy) == F ! 3D radiation stress, Sxy component
Hout(idW3yy) == F ! 3D radiation stress, Syy component
Hout(idW3zx) == F ! 3D radiation stress, Szx component
Hout(idW3zy) == F ! 3D radiation stress, Szy component
Hout(idU3rs) == F ! 3D U-radiation stress
Hout(idV3rs) == F ! 3D V-radiation stress
Hout(idU3Sd) == F ! 3D U-Stokes velocity
Hout(idV3Sd) == F ! 3D V-Stokes velocity

Hout(idWamp) == F ! wave height
Hout(idWlen) == F ! wave length
Hout(idWdir) == F ! wave direction

Hout(idTsur) == F F ! surface net heat and salt flux
Hout(idLhea) == F ! latent heat flux
Hout(idShea) == F ! sensible heat flux
Hout(idLrad) == F ! longwave radiation flux
Hout(idSrad) == F ! shortwave radiation flux
Hout(idevap) == F ! evaporation rate
Hout(idrain) == F ! precipitation rate

Hout(idDano) == F ! density anomaly
Hout(idVvis) == F ! vertical viscosity
Hout(idTdif) == F ! vertical T-diffusion
Hout(idSdif) == F ! vertical Salinity diffusion
Hout(idHsbl) == F ! depth of surface boundary layer
Hout(idHbbl) == F ! depth of bottom boundary layer
Hout(idMtke) == T ! turbulent kinetic energy
Hout(idMtls) == T ! turbulent length scale

Hout(idTvar(iNO3_)) == T ! bi
Hout(idTvar(iPhyt)) == T ! o
Hout(idTvar(iZoop)) == T ! lo
Hout(idTvar(iSDet)) == T ! gy

! Logical switches (TRUE/FALSE) to activate writing of extra inert passive
! tracers other than biological and sediment tracers. An inert passive tracer
! is one that it is only advected and diffused. Other processes are ignored.
! These tracers include, for example, dyes, pollutants, oil spills, etc.
! NPT values are expected. However, these switches can be activated using
! compact parameter specification.

Hout(inert) == T ! inert passive tracers

! Logical switches (TRUE/FALSE) to activate writing of exposed sediment
! layer properties into HISTORY output file. Currently, MBOTP properties
! are expected for the bottom boundary layer and/or sediment models:
!
! Hout(idBott(isd50)), isd50 = 1 ! mean grain diameter
! Hout(idBott(idens)), idens = 2 ! mean grain density
! Hout(idBott(iwsed)), iwsed = 3 ! mean settling velocity
! Hout(idBott(itauc)), itauc = 4 ! critical erosion stress
! Hout(idBott(irlen)), irlen = 5 ! ripple length
! Hout(idBott(irhgt)), irhgt = 6 ! ripple height
! Hout(idBott(ibwav)), ibwav = 7 ! wave excursion amplitude
! Hout(idBott(izdef)), izdef = 8 ! default bottom roughness
! Hout(idBott(izapp)), izapp = 9 ! apparent bottom roughness
! Hout(idBott(izNik)), izNik = 10 ! Nikuradse bottom roughness
! Hout(idBott(izbio)), izbio = 11 ! biological bottom roughness
! Hout(idBott(izbfm)), izbfm = 12 ! bed form bottom roughness
! Hout(idBott(izbld)), izbld = 13 ! bed load bottom roughness
! Hout(idBott(izwbl)), izwbl = 14 ! wave bottom roughness
! Hout(idBott(iactv)), iactv = 15 ! active layer thickness
! Hout(idBott(ishgt)), ishgt = 16 ! saltation height
!
! 1 1 1 1 1 1 1
! 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6

Hout(idBott) == T T T T T T T T T F F F F F F F

! Generic User parameters, [1:NUSER].

NUSER = 0
USER = 0.d0

! Input NetCDF file names, [1:Ngrids].

GRDNAME == /home/rex/akoch/Prm/ctz3km_roms_grd_from_fine_sf3.nc
! ININAME == /home/rex/akoch/Prm/ctz3km_ini_40_sf3_01Apr.nc
ININAME == /home/rex/akoch/Prm/ctz3km_ini_bio_fake_sf3_01Apr.nc
ITLNAME == ocean_itl.nc
IRPNAME == ocean_irp.nc
IADNAME == ocean_iad.nc
CLMNAME ==
! BRYNAME == /home/rex/akoch/Prm/ctz3km_bndy_40_sf3_daily_01Apr30Aug2002.nc
BRYNAME == /home/rex/akoch/Prm/ctz3km_bndy_40_sf3_bio_fake_01Apr30Aug2002.nc
FWDNAME == ocean_fwd.nc
ADSNAME == ocean_ads.nc

! Input forcing NetCDF file name(s). The USER has the option to enter
! several files names per each nested grid. For example, the USER may
! have a different files for wind products, heat fluxes, rivers, tides,
! etc. The model will scan the file list and will read the needed data
! from the first file in the list containing the forcing field. Therefore,
! the order of the file names is very important. If multiple forcing
! files per grid, enter first all the file names for grid 1, then grid 2,
! and so on. Use a single line per entry with a continuation (\) symbol
! at the each entry, except the last one.

NFFILES == 7 ! number of forcing files
FRCNAME= /home/rex/akoch/Prm/roms_ctz3km_coamps_frc_2002Uwnd.nc \
/home/rex/akoch/Prm/roms_ctz3km_coamps_frc_2002Vwnd.nc \
/home/rex/akoch/Prm/roms_ctz3km_ncep_frc_Pair.nc \
/home/rex/akoch/Prm/roms_ctz3km_ncep_frc_Qair.nc \
/home/rex/akoch/Prm/roms_ctz3km_ncep_frc_Rain.nc \
/home/rex/akoch/Prm/roms_ctz3km_ncep_frc_Srad.nc \
/home/rex/akoch/Prm/roms_ctz3km_ncep_frc_Tair.nc

! Output NetCDF file names, [1:Ngrids].

GSTNAME == ocean_gst.nc
RSTNAME == ocean_rst.nc
HISNAME == ocean_his.nc
TLMNAME == ocean_tlm.nc
TLFNAME == ocean_tlf.nc
ADJNAME == ocean_adj.nc
AVGNAME == ocean_avg.nc
DIANAME == ocean_dia.nc
STANAME == ocean_sta.nc
FLTNAME == ocean_flt.nc

! Input ASCII parameter filenames.

! APARNAM = ROMS/External/s4dvar.in
! SPOSNAM = ROMS/External/stations.in
! FPOSNAM = ROMS/External/floats.in
! BPARNAM = ROMS/External/bioFasham.in
BPARNAM = ROMS/External/npzd.in
! SPARNAM = ROMS/External/sediment.in
! USRNAME = ROMS/External/MyFile.dat
Last edited by andreykoch on Thu Mar 12, 2009 5:25 pm, edited 2 times in total.

andreykoch

Re: missing input file for NPZD

#2 Unread post by andreykoch »

Alright, I found what the problem was. It required a biology parameters file, and the line in my *.in file which refers to it was calling npzd.in instead of npzd_Powell.in as it is in my case.

feroda

Re: missing input file for NPZD

#3 Unread post by feroda »

I opened NPZD_POWELL in the header file:
#define NPZD_POWELL

#if defined BIO_FENNEL || defined ECOSIM || \
defined NPZD_POWELL || defined NEMURO
# define ANA_BIOLOGY
# define ANA_SPFLUX
# define ANA_BPFLUX
# define ANA_SRFLUX
#endif
and, also told the ocean_*.in file with
BPARNAM = ./npzd_Powell.in

However, I got errors as follows,

NLM: GET_STATE - requested input time record = 30
not found in input NetCDF: ./Ini_WOA.nc
number of available records = 1

Elapsed CPU time (seconds):


Any advices are greatly appreciated.

User avatar
kate
Posts: 4091
Joined: Wed Jul 02, 2003 5:29 pm
Location: CFOS/UAF, USA

Re: missing input file for NPZD

#4 Unread post by kate »

Did you set NRREC == 30? It should be 0 for the initial conditions.

feroda

Re: missing input file for NPZD

#5 Unread post by feroda »

Hi Kate, Thank you. Correct, I directly copied the .in file from another case without restoring NRREC.
Happy Holidays!

Post Reply