Hi Swen,
This is the old param.h file.
Thanks for looking into this!
!
! $Id: param.h,v 1.19 2005/10/26 15:18:52 pmarches Exp $
!
! Dimensions of Physical Grid and array dimensions:
! =========== == ======== ==== === ===== ============
! LLm,MMm Number of the internal points of the PHYSICAL grid.
! in the XI- and ETA-directions [physical side boundary
! points and peroodic ghost points (if any) are excluded].
!
! Lm,Mm Number of the internal points [see above] of array
! covering a Message Passing subdomain. In the case when
! no Message Passing partitioning is used, these two are
! the same as LLm,MMm.
!
! N Number of vertical levels.
!
integer LLm,Lm,MMm,Mm,N, LLm0,MMm0
#if defined BASIN
parameter (LLm0=60, MMm0=50, N=10)
#elif defined CANYON_A
parameter (LLm0=65, MMm0=48, N=16)
#elif defined CANYON_B
parameter (LLm0=66, MMm0=48, N=16)
#elif defined GRAV_ADJ
parameter (LLm0=128, MMm0=4, N=10)
#elif defined OVERFLOW
parameter (LLm0=4, MMm0=128, N=10)
#elif defined SEAMOUNT
parameter (LLm0=64, MMm0=64, N=20)
#elif defined SHELFRONT
parameter (LLm0=4, MMm0=40, N=10)
#elif defined SOLITON
parameter (LLm0=96, MMm0=32, N=10)
#elif defined UPWELLING
parameter (LLm0=16, MMm0=64, N=16)
#elif defined INNERSHELF
parameter (LLm0=64, MMm0=3, N=40)
#elif defined RIVER
parameter (LLm0=40, MMm0=80, N=20)
#elif defined VORTEX
! parameter (LLm0=179, MMm0=179, N=10) ! 10 km resolution
parameter (LLm0=59, MMm0=59, N=10) ! 30 km resolution
! parameter (LLm0=69, MMm0=57, N=10) ! 30 km resolution
! parameter (LLm0=35, MMm0=35, N=10) ! 50 km resolution
! parameter (LLm0=24, MMm0=24, N=10) ! 70 km resolution
#elif defined REGIONAL
if defined BENGUELA
parameter (LLm0=23, MMm0=31, N=32)
elif defined GALWAYBAY
! parameter (LLm0=138, MMm0=130, N=30)
parameter (LLm0=248, MMm0=248, N=32)
! parameter (LLm0=86, MMm0=124, N=30)
! parameter (LLm0=132, MMm0=190, N=30)
! parameter (LLm0=208, MMm0=300, N=30)
else
parameter (LLm0=??, MMm0=??, N=??)
endif
#else
parameter (LLm0=??, MMm0=??, N=??)
#endif
#ifdef MPI
!
! MPI rlated variables
! === ====== =========
integer Lmmpi,Mmmpi,iminmpi,imaxmpi,jminmpi,jmaxmpi
common /comm_setup_mpi/ Lmmpi,Mmmpi,
& iminmpi,imaxmpi,jminmpi,jmaxmpi
#endif
#ifdef AGRIF
common /scrum_physical_grid/ LLm,Lm,MMm,Mm
#else
parameter (LLm=LLm0, MMm=MMm0)
#endif
!
! Domain subdivision parameters:
! ====== =========== ===========
! NPP Maximum allowed number of parallel threads;
! NSUB_X,NSUB_E Number of SHARED memory subdomains in XI- and
! ETA-directions;
! NNODES Total number of MPI processes (nodes);
! NP_XI,NP_ETA Number of MPI subdomains in XI- and ETA-directions;
!
integer NSUB_X, NSUB_E, NPP
#ifdef MPI
integer NP_XI, NP_ETA, NNODES
parameter (NP_XI=2, NP_ETA=4, NNODES=NP_XI*NP_ETA)
parameter (NSUB_X=1, NSUB_E=1, NPP=1)
#elif defined OPENMP
parameter (NSUB_X=2, NSUB_E=4, NPP=8)
#else
parameter (NSUB_X=1, NSUB_E=1, NPP=1)
#endif
!
! Number of tracers and tracer identification indices:
! ====== == ======= === ====== ============== ========
!
#ifdef SOLVE3D
integer NT, itemp,
& ntrc_salt, ntrc_pas, ntrc_bio, ntrc_sed
& , ntrc_diats, ntrc_diauv
ifdef BIOLOGY
& ,itrc_bio
endif
ifdef SEDIMENT
& ,itrc_sed
endif
ifdef SALINITY
& , isalt
endif
ifdef PASSIVE_TRACER
& , itpas
endif
ifdef BIOLOGY
ifdef BIO_NChlPZD
& , iNO3_, iChla, iPhy1, iZoo1
& , iDet1
elif defined BIO_N2ChlPZD2
& , iNO3_, iNH4_, iChla, iPhy1, iZoo1
& , iDet1, iDet2
elif defined BIO_N2P2Z2D2
& , iNO3_, iNH4_, iPhy1, iPhy2, iZoo1, iZoo2
& , iDet1, iDet2
endif
endif
ifdef SEDIMENT
& , isand, isilt
& , NST, NLAY
endif
parameter (itemp=1)
ifdef SALINITY
parameter (ntrc_salt=1)
parameter (isalt=itemp+1)
else
parameter (ntrc_salt=0)
#endif
ifdef PASSIVE_TRACER
parameter (ntrc_pas=1)
parameter (itpas=itemp+ntrc_salt+1)
else
parameter (ntrc_pas=0)
endif
ifdef BIOLOGY
ifdef BIO_NChlPZD
parameter (ntrc_bio=5,itrc_bio=itemp+ntrc_salt+ntrc_pas+1)
parameter (iNO3_=itrc_bio, iChla=iNO3_+1,
& iPhy1=iNO3_+2,
& iZoo1=iNO3_+3,
& iDet1=iNO3_+4)
elif defined BIO_N2ChlPZD2
parameter (ntrc_bio=7,itrc_bio=itemp+ntrc_salt+ntrc_pas+1)
parameter (iNO3_=itrc_bio, iNH4_=iNO3_+1, iChla=iNO3_+2,
& iPhy1=iNO3_+3,
& iZoo1=iNO3_+4,
& iDet1=iNO3_+5, iDet2=iNO3_+6)
elif defined BIO_N2P2Z2D2
parameter (ntrc_bio=8,itrc_bio=itemp+ntrc_salt+ntrc_pas+1)
parameter (iNO3_=itrc_bio, iNH4_=iNO3_+1,
& iPhy1=iNO3_+2, iPhy2=iNO3_+3,
& iZoo1=iNO3_+4, iZoo2=iNO3_+5,
& iDet1=iNO3_+6, iDet2=iNO3_+7)
endif
else
parameter (ntrc_bio=0)
endif
ifdef SEDIMENT
! NST Number of sediment (tracer) size classes
! NLAY Number of layers in sediment bed
parameter (NST=2, NLAY=2)
parameter (ntrc_sed=NST,
& itrc_sed=itemp+ntrc_salt+ntrc_pas+ntrc_bio+1)
parameter (isand=itrc_sed, isilt=isand+1)
else
parameter (ntrc_sed=0)
endif
parameter (NT=itemp+ntrc_salt+ntrc_pas+ntrc_bio+ntrc_sed)
#ifdef DIAGNOSTICS_TS
parameter (ntrc_diats=7*NT)
#else
parameter (ntrc_diats=0)
#endif
#ifdef DIAGNOSTICS_UV
parameter (ntrc_diauv=16)
#else
parameter (ntrc_diauv=0)
#endif
#endif /*SOLVE3D */
#ifdef STATIONS
integer NS ! Number of output stations (if any).
parameter (NS=1) ! ====== == ====== ======== === =====
#endif
#ifdef PSOURCE
integer Msrc ! Number of point sources, if any
parameter (Msrc=10) ! ====== == ====== ======== === =
#endif
#ifdef FLOATS
integer Mfloats ! Maximum number of floats
parameter (Mfloats=32000)! ====== == ====== ========
#endif
#ifdef STATIONS
integer Msta ! Maximum of stations
parameter (Msta=1000) ! ======= == ========
#endif
#if defined SSH_TIDES || defined UV_TIDES
integer Ntides
parameter (Ntides=8)
#endif
!
! Derived dimension parameters.
!
integer stdout, Np, padd_X,padd_E
#ifdef AGRIF
common/scrum_deriv_param/padd_X,padd_E
#endif
parameter (stdout=6, Np=N+1)
#ifndef AGRIF
!
! Domain subdivision parameters:
! ====== =========== ===========
ifdef MPI
parameter (Lm=(LLm+NP_XI-1)/NP_XI, Mm=(MMm+NP_ETA-1)/NP_ETA)
else
parameter (Lm=LLm, Mm=MMm)
endif
!
! Derived dimension parameters.
!
parameter (padd_X=(Lm+2)/2-(Lm+1)/2)
parameter (padd_E=(Mm+2)/2-(Mm+1)/2)
#endif
#ifdef AGRIF
integer NSA, N2d,N3d
parameter (NSA=28)
common /scrum_private_param/ N2d,N3d
#else
integer NSA, N2d,N3d, size_XI,size_ETA
integer se,sse, sz,ssz
parameter (NSA=28)
ifdef ALLOW_SINGLE_BLOCK_MODE
parameter (size_XI=6+Lm, size_ETA=6+Mm)
else
parameter (size_XI=7+(Lm+NSUB_X-1)/NSUB_X)
parameter (size_ETA=7+(Mm+NSUB_E-1)/NSUB_E)
endif
parameter (sse=size_ETA/Np, ssz=Np/size_ETA)
parameter (se=sse/(sse+ssz), sz=1-se)
parameter (N2d=size_XI*(se*size_ETA+sz*Np))
parameter (N3d=size_XI*size_ETA*Np)
#endif
!
! Number maximum of weights for the barotropic mode
!
integer NWEIGHT
parameter (NWEIGHT=137)