Some problem with input files.

General scientific issues regarding ROMS

Moderators: arango, robertson

Post Reply
Message
Author
sscruise
Posts: 9
Joined: Tue Apr 04, 2006 6:36 pm
Location: LREIS

Some problem with input files.

#1 Unread post by sscruise »

I used the Roms_Tools to create input netCDF files (Benguela Test Model), then I used these file to run Roms-3.0 with ocean_upwelling.in. But I found the results was same as with no input netCDF files. What’s wrong? Did I need to modify other file like upwelling.h?

ocean_upwelling.in:

! C-preprocessing Flag.

MyAppCPP = UPWELLING

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

VARNAME = ROMS/External/varinfo.dat

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

Lm == 23 ! Number of I-direction INTERIOR RHO-points
Mm == 31 ! Number of J-direction INTERIOR RHO-points
N == 32 ! 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 == 1 ! I-direction partition
NtileJ == 1 ! J-direction partition

! Time-Stepping parameters.

NTIMES == 480
DT == 5400.00
NDTFAST == 60

! 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 == 288
NSTA == 1
NFLT == 1
NINFO == 1

! Output history, average, diagnostic files parameters.

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

! Output tangent linear and adjoint models parameters.

LcycleTLM == F
NTLM == 72
NDEFTLM == 0
LcycleADJ == F
NADJ == 72
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 == 0.0d0 0.0d0 ! m2/s
TNU4 == 2*0.0d0 ! m4/s

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

VISC2 == 5.0d0 ! m2/s
VISC4 == 0.0d0 ! 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 == 3.0d0 ! K-epsilon
GLS_M == 1.5d0
GLS_N == -1.0d0
GLS_Kmin == 7.6d-6
GLS_Pmin == 1.0d-12

GLS_CMU0 == 0.5477d0
GLS_C1 == 1.44d0
GLS_C2 == 1.92d0
GLS_C3M == -0.4d0
GLS_C3P == 1.0d0
GLS_SIGK == 1.0d0
GLS_SIGP == 1.30d0

! 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 == 0.0d+00 ! m/s
RDRG2 == 3.0d+00 ! nondimensional
Zob == 0.02d0 ! 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 == 15
LEVBFRC == 1

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

THETA_S == 6.0d0 ! 0 < THETA_S < 20
THETA_B == 0.0d0 ! 0 < THETA_B <1> 1, nudging on inflow is stronger
! than on outflow (recommended).

OBCFAC == 0.0d0 ! nondimensional

! Linear equation of State parameters:

R0 == 1027.0d0 ! kg/m3
T0 == 14.0d0 ! Celsius
S0 == 35.0d0 ! PSU
TCOEF == 1.7d-4 ! 1/Celsius
SCOEF == 0.0d0 ! 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) == F ! turbulent kinetic energy
Hout(idMtls) == F ! turbulent length scale

! 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 == ROMS/Input/roms_grd.nc
ININAME == ROMS/Input/roms_ini.nc
ITLNAME == /dev/null
IRPNAME == /dev/null
IADNAME == /dev/null
CLMNAME == ROMS/Input/roms_clm.nc
BRYNAME == ROMS/Input/roms_bry.nc
FWDNAME == /dev/null
ADSNAME == /dev/null

! 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 ast one.

NFFILES == 2 ! number of forcing files

FRCNAME == ROMS/Input/roms_frc.nc \
ROMS/Input/roms_blk.nc

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

GSTNAME == /dev/null
RSTNAME == ocean_rst.nc
HISNAME == ocean_his.nc
TLMNAME == /dev/null
TLFNAME == /dev/null
ADJNAME == /dev/null
AVGNAME == ocean_avg.nc
DIANAME == ocean_dia.nc
STANAME == /dev/null
FLTNAME == /dev/null

! Input ASCII parameter filenames.

APARNAM = ROMS/External/s4dvar.in
SPOSNAM = ROMS/External/stations.in
FPOSNAM = ROMS/External/floats.in
BPARNAM = ROMS/External/bioFasham.in
SPARNAM = ROMS/External/sediment.in
USRNAME = ROMS/External/MyFile.dat

mathieu
Posts: 74
Joined: Fri Sep 17, 2004 2:22 pm
Location: Institut Rudjer Boskovic

Upwelling forcing

#2 Unread post by mathieu »

Looking at upwelling.h
it appears that all necessary fields are defined by analyticals:

Code: Select all

#define ANA_GRID
...
#define BS_FLUX
When fields are available in analyticals and in netcdf files, ROMS takes the analytical.

If you want to provide your own forcing fields, then you need to undef
the corresponding ANA_.

sscruise
Posts: 9
Joined: Tue Apr 04, 2006 6:36 pm
Location: LREIS

#3 Unread post by sscruise »

Thank you very much.

sscruise
Posts: 9
Joined: Tue Apr 04, 2006 6:36 pm
Location: LREIS

#4 Unread post by sscruise »

I undefined ANA_GRID ANA_INITIAL ANA_SMFLUX ANA_STFLUX ANA_SSFLUX . These is a error when read roms_ini.nc (Initial file)

"NLM: GET_VARS - unable to find model variable:
in input NetCDF file: ROMS/Input/roms_ini.nc
forrtl: severe (174): SIGSEGV, segmentation fault occurred"

How can i know which variable was not found?


The information of the roms_ini.nc:
%% Global attributes:

nc.title = ncchar('Benguela Test Model');
nc.date = ncchar('01-Apr-2007');
nc.clim_file = ncchar('../Run/ROMS_FILES/roms_ini.nc');
nc.grd_file = ncchar('../Run/ROMS_FILES/roms_grd.nc');
nc.type = ncchar('INITIAL file');
nc.history = ncchar('ROMS');

%% Dimensions:

nc('xi_u') = 24;
nc('xi_v') = 25;
nc('xi_rho') = 25;
nc('eta_u') = 33;
nc('eta_v') = 32;
nc('eta_rho') = 33;
nc('s_rho') = 32;
nc('s_w') = 33;
nc('tracer') = 2;
nc('time') = 1; %% (record dimension)
nc('one') = 1;

%% Variables and attributes:

nc{'tstart'} = ncdouble('one'); %% 1 element.
nc{'tstart'}.long_name = ncchar('start processing day');
nc{'tstart'}.units = ncchar('day');

nc{'tend'} = ncdouble('one'); %% 1 element.
nc{'tend'}.long_name = ncchar('end processing day');
nc{'tend'}.units = ncchar('day');

nc{'theta_s'} = ncdouble('one'); %% 1 element.
nc{'theta_s'}.long_name = ncchar('S-coordinate surface control parameter');
nc{'theta_s'}.units = ncchar('nondimensional');

nc{'theta_b'} = ncdouble('one'); %% 1 element.
nc{'theta_b'}.long_name = ncchar('S-coordinate bottom control parameter');
nc{'theta_b'}.units = ncchar('nondimensional');

nc{'Tcline'} = ncdouble('one'); %% 1 element.
nc{'Tcline'}.long_name = ncchar('S-coordinate surface/bottom layer width');
nc{'Tcline'}.units = ncchar('meter');

nc{'hc'} = ncdouble('one'); %% 1 element.
nc{'hc'}.long_name = ncchar('S-coordinate parameter, critical depth');
nc{'hc'}.units = ncchar('meter');

nc{'sc_r'} = ncdouble('s_rho'); %% 32 elements.
nc{'sc_r'}.long_name = ncchar('S-coordinate at RHO-points');
nc{'sc_r'}.units = ncchar('nondimensional');
nc{'sc_r'}.valid_min = ncdouble(-1);
nc{'sc_r'}.valid_max = ncdouble(0);

nc{'Cs_r'} = ncdouble('s_rho'); %% 32 elements.
nc{'Cs_r'}.long_name = ncchar('S-coordinate stretching curves at RHO-points');
nc{'Cs_r'}.units = ncchar('nondimensional');
nc{'Cs_r'}.valid_min = ncdouble(-1);
nc{'Cs_r'}.valid_max = ncdouble(0);

nc{'scrum_time'} = ncdouble('time'); %% 1 element.
nc{'scrum_time'}.long_name = ncchar('time since initialization');
nc{'scrum_time'}.units = ncchar('second');

nc{'u'} = ncdouble('time', 's_rho', 'eta_u', 'xi_u'); %% 25344 elements.
nc{'u'}.long_name = ncchar('u-momentum component');
nc{'u'}.units = ncchar('meter second-1');

nc{'v'} = ncdouble('time', 's_rho', 'eta_v', 'xi_v'); %% 25600 elements.
nc{'v'}.long_name = ncchar('v-momentum component');
nc{'v'}.units = ncchar('meter second-1');

nc{'ubar'} = ncdouble('time', 'eta_u', 'xi_u'); %% 792 elements.
nc{'ubar'}.long_name = ncchar('vertically integrated u-momentum component');
nc{'ubar'}.units = ncchar('meter second-1');

nc{'vbar'} = ncdouble('time', 'eta_v', 'xi_v'); %% 800 elements.
nc{'vbar'}.long_name = ncchar('vertically integrated v-momentum component');
nc{'vbar'}.units = ncchar('meter second-1');

nc{'zeta'} = ncdouble('time', 'eta_rho', 'xi_rho'); %% 825 elements.
nc{'zeta'}.long_name = ncchar('free-surface');
nc{'zeta'}.units = ncchar('meter');

nc{'temp'} = ncdouble('time', 's_rho', 'eta_rho', 'xi_rho'); %% 26400 elements.
nc{'temp'}.long_name = ncchar('potential temperature');
nc{'temp'}.units = ncchar('Celsius');

nc{'salt'} = ncdouble('time', 's_rho', 'eta_rho', 'xi_rho'); %% 26400 elements.
nc{'salt'}.long_name = ncchar('salinity');
nc{'salt'}.units = ncchar('PSU');

sscruise
Posts: 9
Joined: Tue Apr 04, 2006 6:36 pm
Location: LREIS

#5 Unread post by sscruise »

upwelling.h *******************************************************************************
** Copyright (c) 2002-2007 The ROMS/TOMS Group **
** Licensed under a MIT/X style license **
** See License_ROMS.txt **
*******************************************************************************
**
** Options for Upwelling Test.
**
** Application flag: UPWELLING
** Input script: ocean_upwelling.in
*/

#define UV_ADV
#define UV_COR
#define UV_LDRAG
#define UV_VIS2
#undef MIX_GEO_UV
#define MIX_S_UV
#define TS_U3HADVECTION
#define TS_C4VADVECTION
#undef TS_MPDATA
#undef WJ_GRADP
#define DJ_GRADPS
#define TS_DIF2
#undef TS_DIF4
#undef MIX_GEO_TS
#define MIX_S_TS

#define SALINITY
#define SOLVE3D
#define SPLINES
#define AVERAGES
#define DIAGNOSTICS_TS
#define DIAGNOSTICS_UV
#define EW_PERIODIC

#undef ANA_GRID
#undef ANA_INITIAL
#undef ANA_SMFLUX
#undef ANA_STFLUX
#undef ANA_SSFLUX
#define ANA_BTFLUX
#define ANA_BSFLUX

#define ANA_VMIX
#undef GLS_MIXING
#undef MY25_MIXING
#if defined GLS_MIXING || defined MY25_MIXING
# define KANTHA_CLAYSON
# undef CANUTO_A
# define N2S2_HORAVG
#endif

#undef BIO_FASHAM
#undef NPZD_POWELL
#undef ECOSIM

#if defined BIO_FASHAM || defined ECOSIM || defined NPZD_POWELL
# define ANA_BIOLOGY
# define ANA_SPFLUX
# define ANA_BPFLUX
# define ANA_SRFLUX
#endif

#ifdef BIO_FASHAM
# define CARBON
# define DENITRIFICATION
# define BIO_SEDIMENT
# define DIAGNOSTICS_BIO
#endif

#define PERFECT_RESTART
#ifdef PERFECT_RESTART
# undef AVERAGES
# undef DIAGNOSTICS_BIO
# undef DIAGNOSTICS_TS
# undef DIAGNOSTICS_UV
# define OUT_DOUBLE
#endif

User avatar
arango
Site Admin
Posts: 1350
Joined: Wed Feb 26, 2003 4:41 pm
Location: DMCS, Rutgers University
Contact:

#6 Unread post by arango »

Obviously, you need to learn the most basic structure of ROMS and how it works. This is the first time that I have seen a user so lost and clueless. There is a lot of basic information for ROMS beginners in this forum. You are not reading or understanding the available information nor do you understand the message reply provided above. The upwelling example (UPWELLING) is a simple test case that uses analytical expressions to initialize and force ROMS. It does not need input NetCDF files. There is no need for a beginner to change any of the files below the ROMS subdirectory. There are several templates in the User subdirectory for you to adapt to your particular application.

The fact that you don't know how to execute ROMS is telling me that you did not read the basic instructions provided in the ROMS Tips forum thread. I don't understand why you are in such a hurry to run your Benguela application and create input Netcdf files for it :!: Obviously, you need to first learn the basics about UNIX, NetCDF, and ROMS before attacking the modeling of the Benguela complex circulation. Your Benguela application would need a header file (benguela.h :?: ) and input script (ocean_benguela.in :?: ) in order to run:

Code: Select all

oceanS < ocean_benguela.in
Your need to learn a lot so you can build such header file and input script. Then, there is a lot of numerical and physical decisions that you need to make before doing such run :!:

I noticed that you downloaded revision 38 from the ROMS repository and never updated your version. The instruction about how to update ROMS from the repository is very simple. You just need to type svn update at the UNIX prompt in the directory where ROMS is located in your local computer. This information is provided several times in this forum and wikiROMS.

Please take your time reading and understanding the available information. Then, try to learn the basics before running any realistic application. Perhaps, you can find someone at your institution that can help you. Please use this forum wisely and do your homework first before posting your messages.

Good luck
Last edited by arango on Fri May 25, 2007 12:31 pm, edited 1 time in total.

mathieu
Posts: 74
Joined: Fri Sep 17, 2004 2:22 pm
Location: Institut Rudjer Boskovic

Solution to problem

#7 Unread post by mathieu »

ROMS requires the time dimension of the initial file to be unlimited.
The simplest way to create netcdf file with unlimuted dimension is, possibly,

Code: Select all

ncgen -o roms_init.nc roms_init.cdl
Then edit under matlab with

Code: Select all

nc=netcdf('rom_init.nc', 'write');
....
close(nc);

RubenDiez-Lazaro

#8 Unread post by RubenDiez-Lazaro »

Sscruise:

I think that you are using the so called roms_tools from
http://www.brest.ird.fr/Roms_tools/
in order to generates initial, forcing and grid files.

Bud i think that these tools generates files in a format (variable name criteria) that is not compatible with roms 3... perhaps modifying the "varinfo.dat" file (bud this is a very advanced way)?? Was someone working in it??

The roms_tools is used with the roms_agrif flavor of roms. It seems to be a fork from some old scrum code, so the variable name criteria is different...

For make the initial, forcing and grid files i use the oa, initial and forcing packages from the roms project homepage (www.myroms.org), and some code by Pavel Sakov...
Nevertheless, seems to be some others options, based on matlab scripts...

Don't worry if it is hard at beginning. The "roms world" appear strange at first...
Be careful with parameters that must be specified in more ways, for example the Lm, Mm, N, theta_s, theta_b, Tclinee... parameters specified in the input netcdf files and in the ".in" file must be match, or roms not work and you spent a lot of time finding the why...

spirit and good luck !!!
do not surrender !!!

sscruise
Posts: 9
Joined: Tue Apr 04, 2006 6:36 pm
Location: LREIS

#9 Unread post by sscruise »

RubenDiez-Lazaro wrote: Sscruise:
...
Thank you very much for your constructive suggestions:) !

Post Reply