29 INTEGER (kind=ip_intwp_p),
PARAMETER ::
jpeighty = 5000
31 CHARACTER(len=*),
parameter ::
rform =
'(A5000)' 55 CHARACTER(len=jpeighty) ,
public,
pointer ::
namsrcfld(:)
56 CHARACTER(len=jpeighty) ,
public,
pointer ::
namdstfld(:)
57 CHARACTER(len=ic_lvar) ,
public,
pointer ::
namsrcgrd(:)
58 INTEGER(kind=ip_i4_p) ,
public,
pointer ::
namsrc_nx(:)
59 INTEGER(kind=ip_i4_p) ,
public,
pointer ::
namsrc_ny(:)
60 CHARACTER(len=ic_lvar) ,
public,
pointer ::
namdstgrd(:)
61 INTEGER(kind=ip_i4_p) ,
public,
pointer ::
namdst_nx(:)
62 INTEGER(kind=ip_i4_p) ,
public,
pointer ::
namdst_ny(:)
63 INTEGER(kind=ip_i4_p) ,
public,
pointer ::
namfldseq(:)
64 INTEGER(kind=ip_i4_p) ,
public,
pointer ::
namfldops(:)
65 INTEGER(kind=ip_i4_p) ,
public,
pointer ::
namflddti(:)
66 INTEGER(kind=ip_i4_p) ,
public,
pointer ::
namfldlag(:)
67 INTEGER(kind=ip_i4_p) ,
public,
pointer ::
namfldtrn(:)
68 INTEGER(kind=ip_i4_p) ,
public,
pointer ::
namfldcon(:)
69 CHARACTER(len=ic_med) ,
public,
pointer ::
namfldcoo(:)
70 CHARACTER(len=ic_long) ,
public,
pointer ::
nammapfil(:)
71 CHARACTER(len=ic_med) ,
public,
pointer ::
nammaploc(:)
72 CHARACTER(len=ic_med) ,
public,
pointer ::
nammapopt(:)
73 CHARACTER(len=ic_med) ,
public,
pointer ::
namrstfil(:)
74 CHARACTER(len=ic_med) ,
public,
pointer ::
naminpfil(:)
77 REAL (kind=ip_realwp_p) ,
public,
pointer ::
namfldsmu(:)
78 REAL (kind=ip_realwp_p) ,
public,
pointer ::
namfldsad(:)
79 REAL (kind=ip_realwp_p) ,
public,
pointer ::
namflddmu(:)
80 REAL (kind=ip_realwp_p) ,
public,
pointer ::
namflddad(:)
82 CHARACTER(len=ic_med) ,
public,
pointer ::
namscrmet(:)
83 CHARACTER(len=ic_med) ,
public,
pointer ::
namscrnor(:)
84 CHARACTER(len=ic_med) ,
public,
pointer ::
namscrtyp(:)
85 CHARACTER(len=ic_med) ,
public,
pointer ::
namscrord(:)
86 CHARACTER(len=ic_med) ,
public,
pointer ::
namscrres(:)
87 REAL (kind=ip_realwp_p) ,
public,
pointer ::
namscrvam(:)
88 INTEGER(kind=ip_i4_p) ,
public,
pointer ::
namscrnbr(:)
89 INTEGER(kind=ip_i4_p) ,
public,
pointer ::
namscrbin(:)
108 CHARACTER(len=5),
PARAMETER ::
cgrdnam =
'grids' 109 CHARACTER(len=5),
PARAMETER ::
cmsknam =
'masks' 110 CHARACTER(len=5),
PARAMETER ::
csurnam =
'areas' 111 CHARACTER(len=5),
PARAMETER ::
crednam =
'maskr' 116 CHARACTER(len=4),
PARAMETER ::
cmsksuf =
'.msk' 117 CHARACTER(len=4),
PARAMETER ::
csursuf =
'.srf' 118 CHARACTER(len=4),
PARAMETER ::
cangsuf =
'.ang' 120 LOGICAL,
DIMENSION(:),
ALLOCATABLE ::
lmapp 121 LOGICAL,
DIMENSION(:),
ALLOCATABLE ::
lsubg 153 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
numlab 154 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
ig_numlab 155 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nfexch 156 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
ig_ntrans 158 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nlonbf 159 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nlatbf 160 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nlonaf 161 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nlataf 162 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nseqn 164 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
ig_freq 165 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
ig_lag 166 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nlagn 167 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
ig_invert 168 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
ig_reverse 178 CHARACTER(len=jpeighty) ,
DIMENSION(:),
ALLOCATABLE ::
cnaminp 179 CHARACTER(len=jpeighty) ,
DIMENSION(:),
ALLOCATABLE ::
cnamout 180 CHARACTER(len=8) ,
DIMENSION(:,:),
ALLOCATABLE ::
canal 184 CHARACTER(len=32) ,
DIMENSION(:),
ALLOCATABLE ::
cficinp 185 CHARACTER(len=8) ,
DIMENSION(:),
ALLOCATABLE ::
cficout 189 CHARACTER(len=8) ,
DIMENSION(:),
ALLOCATABLE ::
cficbf 190 CHARACTER(len=8) ,
DIMENSION(:),
ALLOCATABLE ::
cficaf 191 CHARACTER(len=8) ,
DIMENSION(:),
ALLOCATABLE ::
cstate 195 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
neighbor 196 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
ntronca 197 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
ncofld 198 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
neighborg 199 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nbofld 200 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nbnfld 201 INTEGER (kind=ip_intwp_p),
DIMENSION(:,:),
ALLOCATABLE ::
nludat 202 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nlufil 203 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nlumap 204 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nmapfl 205 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nmapvoi 206 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nlusub 207 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nsubfl 208 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nsubvoi 209 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nluext 210 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nextfl 211 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nosper 212 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
notper 213 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nbins 215 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nscripvoi 216 REAL (kind=ip_realwp_p),
DIMENSION(:),
ALLOCATABLE ::
amskval 217 REAL (kind=ip_realwp_p),
DIMENSION(:),
ALLOCATABLE ::
amskvalnew 218 REAL (kind=ip_realwp_p),
DIMENSION(:,:),
ALLOCATABLE ::
acocoef 219 REAL (kind=ip_realwp_p),
DIMENSION(:,:),
ALLOCATABLE ::
abocoef 220 REAL (kind=ip_realwp_p),
DIMENSION(:,:),
ALLOCATABLE ::
abncoef 221 REAL (kind=ip_realwp_p),
DIMENSION(:),
ALLOCATABLE ::
afldcoef 222 REAL (kind=ip_realwp_p),
DIMENSION(:),
ALLOCATABLE ::
afldcobo 223 REAL (kind=ip_realwp_p),
DIMENSION(:),
ALLOCATABLE ::
afldcobn 224 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cxordbf 225 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cyordbf 226 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cxordaf 227 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cyordaf 228 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cextmet 229 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cintmet 230 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cgrdtyp 231 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cfldtyp 232 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cfilfic 233 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cfilmet 234 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cconmet 235 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cconopt 236 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cfldcoa 237 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cfldfin 238 CHARACTER(len=8),
DIMENSION(:,:),
ALLOCATABLE ::
ccofld 239 CHARACTER(len=8),
DIMENSION(:,:),
ALLOCATABLE ::
cbofld 240 CHARACTER(len=8),
DIMENSION(:,:),
ALLOCATABLE ::
cbnfld 241 CHARACTER(len=8),
DIMENSION(:,:),
ALLOCATABLE ::
ccofic 242 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cdqdt 243 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cgrdmap 244 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cmskrd 245 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cgrdsub 246 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
ctypsub 247 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cgrdext 248 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
csper 249 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
ctper 251 CHARACTER(len=ic_long),
DIMENSION(:),
ALLOCATABLE ::
cmap_file 252 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cmaptyp 253 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cmapopt 254 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
corder 256 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
cfldtype 257 CHARACTER(len=8),
DIMENSION(:),
ALLOCATABLE ::
crsttype 259 LOGICAL,
DIMENSION(:),
ALLOCATABLE ::
lsurf 261 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
naismfl 262 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
naisgfl 263 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
naismvoi 264 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
naisgvoi 265 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
niwtm 266 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
niwtg 267 REAL (kind=ip_realwp_p),
DIMENSION(:),
ALLOCATABLE ::
varmul 268 LOGICAL,
DIMENSION(:),
ALLOCATABLE ::
linit 270 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
niwtn 271 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nninnfl 272 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
niwtng 273 INTEGER (kind=ip_intwp_p),
DIMENSION(:),
ALLOCATABLE ::
nninnflg 274 LOGICAL,
DIMENSION(:),
ALLOCATABLE ::
lextra 277 CHARACTER*9,
parameter :: &
281 clmod =
'$NBMODEL ', &
282 cljob =
'$JOBNAME ', &
284 clseq =
'$SEQMODE ', &
293 clcal =
'$CALTYPE ', &
314 INTEGER(kind=ip_i4_p) :: n, nv, n1, n2, loc
315 INTEGER(kind=ip_i4_p) :: ja, jf, jc
316 INTEGER(kind=ip_i4_p) :: il_iost
317 INTEGER(kind=ip_i4_p) :: maxunit
318 CHARACTER(len=*),
parameter :: subname=
'(oasis_namcouple_init)' 322 OPEN (
nulin,file =
cl_namcouple,status=
'OLD', form =
'FORMATTED', iostat = il_iost)
325 IF (il_iost .NE. 0)
THEN 348 IF (
il_err.NE.0)
CALL prtout(
'Error in "namsrcfld" allocation of experiment module',
il_err,1)
351 IF (
il_err.NE.0)
CALL prtout(
'Error in "namdstfld" allocation of experiment module',
il_err,1)
354 IF (
il_err.NE.0)
CALL prtout(
'Error in "namsrcgrd" allocation of experiment module',
il_err,1)
357 IF (
il_err.NE.0)
CALL prtout(
'Error in "namsrc_nx" allocation of experiment module',
il_err,1)
360 IF (
il_err.NE.0)
CALL prtout(
'Error in "namsrc_ny" allocation of experiment module',
il_err,1)
363 IF (
il_err.NE.0)
CALL prtout(
'Error in "namdstgrd" allocation of experiment module',
il_err,1)
366 IF (
il_err.NE.0)
CALL prtout(
'Error in "namdst_nx" allocation of experiment module',
il_err,1)
369 IF (
il_err.NE.0)
CALL prtout(
'Error in "namdst_ny" allocation of experiment module',
il_err,1)
372 IF (
il_err.NE.0)
CALL prtout(
'Error in "namfldseq" allocation of experiment module',
il_err,1)
375 IF (
il_err.NE.0)
CALL prtout(
'Error in "namfldops" allocation of experiment module',
il_err,1)
378 IF (
il_err.NE.0)
CALL prtout(
'Error in "namfldtrn" allocation of experiment module',
il_err,1)
381 IF (
il_err.NE.0)
CALL prtout(
'Error in "namfldcon" allocation of experiment module',
il_err,1)
384 IF (
il_err.NE.0)
CALL prtout(
'Error in "namfldcoo" allocation of experiment module',
il_err,1)
387 IF (
il_err.NE.0)
CALL prtout(
'Error in "namflddti" allocation of experiment module',
il_err,1)
390 IF (
il_err.NE.0)
CALL prtout(
'Error in "namfldlag" allocation of experiment module',
il_err,1)
393 IF (
il_err.NE.0)
CALL prtout(
'Error in "nammapfil" allocation of experiment module',
il_err,1)
396 IF (
il_err.NE.0)
CALL prtout(
'Error in "nammaploc" allocation of experiment module',
il_err,1)
399 IF (
il_err.NE.0)
CALL prtout(
'Error in "nammapopt" allocation of experiment module',
il_err,1)
402 IF (
il_err.NE.0)
CALL prtout(
'Error in "namrstfil" allocation of experiment module',
il_err,1)
405 IF (
il_err.NE.0)
CALL prtout(
'Error in "naminpfil" allocation of experiment module',
il_err,1)
408 IF (
il_err.NE.0)
CALL prtout(
'Error in "namsort2nn" allocation of experiment module',
il_err,1)
411 IF (
il_err.NE.0)
CALL prtout(
'Error in "namnn2sort" allocation of experiment module',
il_err,1)
414 IF (
il_err.NE.0)
CALL prtout(
'Error in "namchecki" allocation of experiment module',
il_err,1)
417 IF (
il_err.NE.0)
CALL prtout(
'Error in "namchecko" allocation of experiment module',
il_err,1)
420 IF (
il_err.NE.0)
CALL prtout(
'Error in "namfldsmu" allocation of experiment module',
il_err,1)
423 IF (
il_err.NE.0)
CALL prtout(
'Error in "namfldsad" allocation of experiment module',
il_err,1)
426 IF (
il_err.NE.0)
CALL prtout(
'Error in "namflddmu" allocation of experiment module',
il_err,1)
429 IF (
il_err.NE.0)
CALL prtout(
'Error in "namflddad" allocation of experiment module',
il_err,1)
432 IF (
il_err.NE.0)
CALL prtout(
'Error in "namscrmet" allocation of experiment module',
il_err,1)
435 IF (
il_err.NE.0)
CALL prtout(
'Error in "namscrnor" allocation of experiment module',
il_err,1)
438 IF (
il_err.NE.0)
CALL prtout(
'Error in "namscrtyp" allocation of experiment module',
il_err,1)
441 IF (
il_err.NE.0)
CALL prtout(
'Error in "namscrord" allocation of experiment module',
il_err,1)
444 IF (
il_err.NE.0)
CALL prtout(
'Error in "namscrres" allocation of experiment module',
il_err,1)
447 IF (
il_err.NE.0)
CALL prtout(
'Error in "namscrvam" allocation of experiment module',
il_err,1)
450 IF (
il_err.NE.0)
CALL prtout(
'Error in "namscrnbr" allocation of experiment module',
il_err,1)
453 IF (
il_err.NE.0)
CALL prtout(
'Error in "namscrbin" allocation of experiment module',
il_err,1)
515 WRITE(
tmpstr1,*) jf,
' ERROR: AUXILARY NOT SUPPORTED' 521 WRITE(
nulprt1,*) subname,jf,
'WARNING: IGNORED converted to EXPORTED' 528 WRITE(
nulprt1,*) subname,jf,
'WARNING: IGNOUT converted to EXPOUT' 555 IF (trim(
namscrtyp(jf)) /=
'SCALAR')
THEN 556 WRITE(
tmpstr1,*) subname,jf,
'WARNING: SCRIPR weights generation & 557 & supported only for SCALAR mapping, not '//trim(
namscrtyp(jf))
574 WRITE(
tmpstr1,*) subname,jf,
'WARNING: CONSERV option not supported: '//&
591 WRITE(
tmpstr1,*) subname,jf,
'ERROR: BLASOLD only supports CONSTANT: '//&
603 WRITE(
tmpstr1,*) subname,jf,
'ERROR: BLASNEW only supports CONSTANTS: '//&
670 DO WHILE (loc == nv .and. n1 < nv)
743 CHARACTER*5000 clline, clline_aux, clvari
751 CHARACTER(len=32),
DIMENSION(:),
ALLOCATABLE :: cl_aux
752 CHARACTER(len=32) :: keyword
753 INTEGER (kind=ip_intwp_p) il_varid, il_len, il_err, il_maxanal
754 INTEGER (kind=ip_intwp_p) nlonbf_notnc, nlatbf_notnc, &
755 nlonaf_notnc, nlataf_notnc
756 INTEGER (kind=ip_intwp_p) iind, il_redu, ib, il_aux, il_auxbf, &
757 il_auxaf, istatus, il_id
758 INTEGER (kind=ip_intwp_p) :: ja,jz,jm,jf,ILEN,n,ios
759 INTEGER (kind=ip_intwp_p) :: ig_clim_maxport
760 LOGICAL :: lg_bsend,endflag
761 LOGICAL :: found, readfile
762 CHARACTER(len=*),
parameter :: subname=
'(mod_oasis_namcouple:inipar_alloc)' 776 WRITE(
nulprt1,*)
' ROUTINE inipar_alloc - Level 0' 777 WRITE(
nulprt1,*)
' ******************** *******' 779 WRITE(
nulprt1,*)
' Initialization of run parameters' 781 WRITE(
nulprt1,*)
' Reading input file namcouple' 795 WRITE(
nulprt1,*)
' Executing valid keyword check ' 804 IF (clvari(1:1) ==
"$")
THEN 809 IF (.NOT. found)
THEN 811 WRITE(
nulprt1,*)
' Found invalid keyword = '//trim(clvari)
814 CALL namcouple_abort(subname,__line__,
' ERROR: invalid keyword = '//trim(clvari))
817 WRITE(
nulprt1,*)
' Found valid keyword = '//trim(clvari)
835 WRITE(
nulprt1,*)
' ***WARNING*** '//trim(keyword)//
' is obsolete in OASIS3-MCT' 842 WRITE(
nulprt1,*)
' ***WARNING*** '//trim(keyword)//
' is obsolete in OASIS3-MCT' 861 WRITE(
nulprt1,*)
' ***WARNING*** Nothing on input for '//trim(keyword)
862 WRITE(
nulprt1,*)
' Default value will be used ' 868 WRITE(
tmpstr1,*) trim(keyword)//
' not found in namcouple' 874 CALL prtout(
'The maximum number of exchanged fields set in namcouple is nfield =',
ig_total_nfield, 1)
879 IF (il_err.NE.0)
CALL prtout(
'Error: ig_number_field allocation of '//trim(subname),il_err,1)
886 IF (il_err.NE.0)
CALL prtout(
'Error: lg_state allocation of '//trim(subname),il_err,1)
892 IF (il_err.NE.0)
CALL prtout(
'Error: ig_total_state allocation of '//trim(subname),il_err,1)
898 IF (il_err.NE.0)
CALL prtout(
'Error: cg_output_field allocation of '//trim(subname),il_err,1)
904 IF (il_err.NE.0)
CALL prtout(
'Error: ig_total_ntrans"allocation of '//trim(subname),il_err,1)
910 IF (il_err.NE.0)
CALL prtout(
'Error: cg_restart_FILE allocation of '//trim(subname),il_err,1)
913 IF (il_err.NE.0)
CALL prtout(
'Error in "cg_input_file"allocation of '//trim(subname),il_err,1)
919 IF (il_err.NE.0)
CALL prtout(
'Error: cga_locatorbf allocation of '//trim(subname),il_err,1)
923 IF (il_err.NE.0)
CALL prtout(
'Error: cga_locatoraf allocation of '//trim(subname),il_err,1)
931 WRITE(
tmpstr1,*) trim(keyword)//
' not found in namcouple' 948 WRITE(
nulprt1,*) subname,
'1 Read line: ',trim(clline)
953 IF (trim(clvari) .eq.
"$END") endflag = .true.
955 IF (trim(clvari) .EQ.
" ")
THEN 956 WRITE(
tmpstr1,*)
' size clline smaller than the size of the names of the fields on the line' 957 WRITE(
tmpstr2,*)
' increase jpeighty and change the associated format A(jpeighty) and cline' 961 IF (.not. endflag)
THEN 970 WRITE(
nulprt1,*) subname,
'parsing 1 Read line, clvari in 5 position: ',trim(clline),trim(clvari)
977 IF (clvari(1:6) .EQ.
'OUTPUT')
THEN 985 IF (clvari(1:8).eq.
'EXPORTED')
THEN 994 ELSEIF (clvari(1:6) .eq.
'OUTPUT' )
THEN 1000 ELSEIF (clvari(1:7) .eq.
'IGNORED' )
THEN 1007 ELSEIF (clvari(1:6) .eq.
'EXPOUT')
THEN 1015 ELSEIF (clvari(1:6) .eq.
'IGNOUT' )
THEN 1022 ELSEIF (clvari(1:9).eq.
'AUXILARY')
THEN 1030 ELSEIF (clvari(1:5) .eq.
'INPUT')
THEN 1041 WRITE(
nulprt1,*) subname,
'field jf : ',jf,
' lg_state(jf) : ',
lg_state(jf)
1042 WRITE(
nulprt1,*) subname,
'field jf : ',jf,
' endflag : ',endflag
1054 WRITE(
nulprt1,*) subname,
'2 Read line: ',trim(clline)
1060 WRITE(
nulprt1,*) subname,
'3 Read line: ',trim(clline)
1068 WRITE(
nulprt1,*) subname,
'4 Read line_aux: ',trim(clline_aux)
1073 CALL parse(clline_aux, clvari, ja,
jpeighty, ilen, __line__)
1074 IF (clvari.eq.
'CORRECT'.or.clvari.eq.
'BLASOLD'.or. &
1075 clvari.eq.
'BLASNEW')
THEN 1079 READ(clvari, fmt=2003) il_aux
1084 ELSEIF (clvari.eq.
'NOINTERP')
THEN 1089 WRITE(
nulprt1,*) subname,
'5 Read line: ',trim(clline)
1101 WRITE(
nulprt1,*) subname,
'6 Read line : ',trim(clline)
1110 WRITE(
nulprt1,*) subname,
'7 Read line: ',trim(clline)
1115 IF (clvari(1:8) .ne.
'LOCTRANS')
THEN 1116 WRITE(
tmpstr1,*)
'You want a transformation which is not available !' 1117 WRITE(
tmpstr2,*)
'Only local transformations are available for ' 1118 WRITE(
tmpstr3,*)
'fields exchanged directly or output fields ' 1124 WRITE(
nulprt1,*) subname,
'8 Read line: ',trim(clline)
1142 DO WHILE (ios .eq. 0)
1145 IF (ios .EQ. 0)
THEN 1147 IF (trim(clvari) /=
"$END")
THEN 1148 WRITE(
tmpstr1,*)
' NFIELDS too small, increase it in namcouple' 1149 WRITE(
nulprt1,*)
' NFIELDS too small, increase it in namcouple' 1166 WRITE(
nulprt1,*)
'==> No fields are exchanged via the coupler' 1179 ELSEIF (jf.gt.1)
THEN 1194 IF (
il_err.NE.0)
CALL prtout(
'Error: cintmet allocation of '//trim(subname),
il_err,1)
1196 IF (
il_err.NE.0)
CALL prtout(
'Error: naismfl allocation of '//trim(subname),
il_err,1)
1198 IF (
il_err.NE.0)
CALL prtout(
'Error: naismvoi allocation of '//trim(subname),
il_err,1)
1200 IF (
il_err.NE.0)
CALL prtout(
'Error: naisgfl allocation of '//trim(subname),
il_err,1)
1202 IF (
il_err.NE.0)
CALL prtout(
'Error: naisgvoi allocation of '//trim(subname),
il_err,1)
1212 IF (
il_err.NE.0)
CALL prtout(
'Error: cextmet allocation of '//trim(subname),
il_err,1)
1214 IF (
il_err.NE.0)
CALL prtout(
'Error: nninnfl allocation of '//trim(subname),
il_err,1)
1216 IF (
il_err.NE.0)
CALL prtout(
'Error: nninnflg allocation of '//trim(subname),
il_err,1)
1218 IF (
il_err.NE.0)
CALL prtout(
'Error: neighbor allocation of '//trim(subname),
il_err,1)
1239 IF (
il_err.NE.0)
CALL prtout(
'Error: nmapvoi allocation of '//trim(subname),
il_err,1)
1250 IF (
il_err.NE.0)
CALL prtout(
'Error: nsubvoi allocation of '//trim(subname),
il_err,1)
1257 IF (
il_err.NE.0)
CALL prtout(
'Error: ntronca allocation of '//trim(subname),
il_err,1)
1288 IF (
il_err.NE.0)
CALL prtout(
'Error: ig_grid_nbrbf allocation of '//trim(subname),
il_err,1)
1291 IF (
il_err.NE.0)
CALL prtout(
'Error: ig_grid_nbraf allocation of '//trim(subname),
il_err,1)
1297 IF (
il_err.NE.0)
CALL prtout(
'Error: ig_ntrans allocation of '//trim(subname),
il_err,1)
1310 IF (
il_err.NE.0)
CALL prtout(
'Error: cficinp allocation of '//trim(subname),
il_err,1)
1343 IF (.not.found)
THEN 1344 WRITE(
tmpstr1,*) trim(keyword)//
' not found' 1374 IF (ilen .LT. 0)
THEN 1385 READ(clvari, fmt=2010) clind, clequa, iind
1386 IF (clind .EQ.
'SEQ' .OR. clind .EQ.
'LAG' .AND. clequa .EQ.
'=')
THEN 1403 WRITE(
nulprt1,*)
'CLVARI=',trim(clvari)
1406 READ(clvari, fmt=2004) nlonbf_notnc
1409 READ(clvari, fmt=2004) nlatbf_notnc
1412 READ(clvari, fmt=2004) nlonaf_notnc
1415 READ(clvari, fmt=2004) nlataf_notnc
1455 WRITE(
nulprt1,*)
'LG_STATE cg_c=', trim(clline)
1458 IF (
cg_c .EQ.
'NOINTERP' .OR.
cg_c .EQ.
'REDGLO' .OR.
cg_c .EQ.
'INVERT' .OR. &
1459 cg_c .EQ.
'MASK' .OR.
cg_c .EQ.
'EXTRAP' .OR.
cg_c .EQ.
'CORRECT' .OR. &
1460 cg_c .EQ.
'REDGLO' .OR.
cg_c .EQ.
'INTERP' .OR.
cg_c .EQ.
'MOZAIC' .OR. &
1461 cg_c .EQ.
'FILLING' .OR.
cg_c .EQ.
'MASKP' .OR.
cg_c .EQ.
'REVERSE' .OR. &
1462 cg_c .EQ.
'GLORED')
THEN 1463 WRITE(
tmpstr1,*)
' OBSOLETE OPERATION= ',trim(
cg_c),
' specified in namcouple' 1471 READ(clvari, fmt=2009) clstrg
1494 WRITE(
nulprt1,*)
'OUTPUT clline=', trim(clline)
1514 WRITE(
nulprt1,*)
'Max number of neighbors for GAUSSIAN interp : ',
ig_maxnoa 1523 WRITE(
nulprt1,*)
'Maximum number of different GAUSSIAN interpolations : ',
ig_maxnfg 1536 2010
FORMAT(a3,a1,i2)
1543 WRITE(
nulprt1,*) subname,
'-- End of ROUTINE --' 1588 CHARACTER*5000 clline, clvari
1590 CHARACTER*8 cl_print_trans, cl_print_state
1591 CHARACTER*3 clinfo, clind
1593 CHARACTER*64 cl_cfname,cl_cfunit
1594 CHARACTER(len=15) :: cvarmul,cafldcobo,cabocoef,cafldcobn,cabncoef
1595 INTEGER (kind=ip_intwp_p) iind, il_aux
1596 INTEGER (kind=ip_intwp_p) il_file_unit, id_error
1597 INTEGER (kind=ip_intwp_p) il_max_entry_id, il_no_of_entries
1598 INTEGER (kind=ip_intwp_p) il_i, il_pos
1599 LOGICAL llseq, lllag, ll_exist
1601 INTEGER (kind=ip_intwp_p) :: ib,ilind1,ilind2,ilind
1602 INTEGER (kind=ip_intwp_p) :: ja,jf,jfn,jz,jm,ilen,idum
1603 INTEGER (kind=ip_intwp_p) :: ifca,ifcb,ilab,jff,jc
1604 INTEGER (kind=ip_intwp_p) :: icofld,imodel, ios
1605 INTEGER (kind=ip_intwp_p) :: ivarmul,iafldcobo,iabocoef,iafldcobn,iabncoef
1606 CHARACTER(len=32) :: keyword
1608 CHARACTER(len=*),
parameter :: subname=
'(mod_oasis_namcouple:inipar)' 1619 IF (mpi_rank_global == 0)
THEN 1621 WRITE(nulprt1,*) trim(subname)
1622 WRITE(nulprt1,*)
' ROUTINE inipar - Level 0' 1623 WRITE(nulprt1,*)
' ************** *******' 1625 WRITE(nulprt1,*)
' Initialization of run parameters' 1626 WRITE(nulprt1,*)
' Reading input file namcouple' 1628 CALL oasis_flush(nulprt1)
1641 IF (found .and. mpi_rank_global == 0)
THEN 1642 WRITE(nulprt1,*)
' ***WARNING*** '//trim(keyword)//
' is obsolete in OASIS3-MCT' 1649 IF (found .and. mpi_rank_global == 0)
THEN 1650 WRITE(nulprt1,*)
' ***WARNING*** '//trim(keyword)//
' is obsolete in OASIS3-MCT' 1657 IF (found .and. mpi_rank_global == 0)
THEN 1658 WRITE(nulprt1,*)
' ***WARNING*** '//trim(keyword)//
' is obsolete in OASIS3-MCT' 1670 READ(clvari, fmt=1004)
ntime 1672 WRITE(
tmpstr1,*)
' ERROR with value associated with '//trim(keyword)
1676 WRITE(
tmpstr1,*) trim(keyword)//
' not found in namcouple' 1682 CALL prtout(
'The total time for this run is ntime =',
ntime, 1)
1688 IF (found .and. mpi_rank_global == 0)
THEN 1689 WRITE(nulprt1,*)
' ***WARNING*** '//trim(keyword)//
' is obsolete in OASIS3-MCT' 1696 IF (found .and. mpi_rank_global == 0)
THEN 1697 WRITE(nulprt1,*)
' ***WARNING*** '//trim(keyword)//
' is obsolete in OASIS3-MCT' 1704 IF (found .and. mpi_rank_global == 0)
THEN 1705 WRITE(nulprt1,*)
' ***WARNING*** '//trim(keyword)//
' is obsolete in OASIS3-MCT' 1719 IF (ilen .LE. 0)
THEN 1720 IF (mpi_rank_global == 0)
THEN 1721 WRITE(nulprt1,*)
' ***WARNING*** Nothing on input for '//trim(keyword)
1722 WRITE(nulprt1,*)
' Default value 2 will be used ' 1723 WRITE(nulprt1,*)
' ' 1724 CALL oasis_flush(nulprt1)
1727 READ(clvari, fmt=1004)
nlogprt 1732 IF (mpi_rank_global == 0)
THEN 1733 WRITE(nulprt1,*)
' ***WARNING*** Nothing on input for time statistic for '//trim(keyword)
1734 WRITE(nulprt1,*)
' Default value 0 will be used ' 1735 WRITE(nulprt1,*)
' ' 1736 CALL oasis_flush(nulprt1)
1745 CALL prtout(
'The time statistics level is ntlogprt =',
ntlogprt, 1)
1751 IF (found .and. mpi_rank_global == 0)
THEN 1752 WRITE(nulprt1,*)
' ***WARNING*** '//trim(keyword)//
' is obsolete in OASIS3-MCT' 1764 IF (ilen .LE. 0)
THEN 1766 IF (mpi_rank_global == 0)
THEN 1767 WRITE(nulprt1,*)
' ***WARNING*** Nothing on input for '//trim(keyword)
1768 WRITE(nulprt1,*)
' Default value false will be used ' 1769 WRITE(nulprt1,*)
' ' 1770 CALL oasis_flush(nulprt1)
1773 IF (clvari(1:1) ==
't' .or. clvari(1:1) ==
'T' .or. &
1774 clvari(1:2) ==
'.t' .or. clvari(1:2) ==
'.T')
then 1777 IF (mpi_rank_global == 0)
THEN 1778 WRITE(nulprt1,*)
' read '//trim(clvari)//
' for '//trim(keyword)
1779 WRITE(nulprt1,*)
' set value to ',
nnorest 1780 WRITE(nulprt1,*)
' ' 1781 CALL oasis_flush(nulprt1)
1789 CALL prtout(
'The allow_no_restart flag is set to true ',1,1)
1791 CALL prtout(
'The allow_no_restart flag is set to false ',0,1)
1805 IF (ilen .LE. 0)
THEN 1806 IF (mpi_rank_global == 0)
THEN 1807 WRITE(nulprt1,*)
' ***WARNING*** Nothing on input for '//trim(keyword)
1808 WRITE(nulprt1,*)
' Default value wght will be used ' 1809 WRITE(nulprt1,*)
' ' 1810 CALL oasis_flush(nulprt1)
1813 IF (trim(clvari) ==
'decomp_1d' .or. &
1814 trim(clvari) ==
'decomp_wghtfile')
THEN 1817 CALL prtout(
'ERROR in namcouple '//trim(keyword)//
' argument',jf,1)
1818 WRITE(
tmpstr1,*)
'ERROR in namcouple '//trim(keyword)//
' argument '//trim(clvari)
1826 IF (mpi_rank_global == 0)
THEN 1827 write(nulprt1,*)
' The mapdec value is nmapdec = ',trim(
nmapdec)
1839 IF (ilen .LE. 0)
THEN 1840 IF (mpi_rank_global == 0)
THEN 1841 WRITE(nulprt1,*)
' ***WARNING*** Nothing on input for '//trim(keyword)
1842 WRITE(nulprt1,*)
' Default value wght will be used ' 1843 WRITE(nulprt1,*)
' ' 1844 CALL oasis_flush(nulprt1)
1847 IF (trim(clvari) ==
'orig' .or. &
1848 trim(clvari) ==
'ceg')
THEN 1851 CALL prtout(
'ERROR in namcouple '//trim(keyword)//
' argument',jf,1)
1852 WRITE(
tmpstr1,*)
'ERROR in namcouple '//trim(keyword)//
' argument '//trim(clvari)
1860 IF (mpi_rank_global == 0)
THEN 1861 write(nulprt1,*)
' The matxrd value is nmatxrd = ',trim(
nmatxrd)
1873 IF (ilen .LE. 0)
THEN 1874 IF (mpi_rank_global == 0)
THEN 1875 WRITE(nulprt1,*)
' ***WARNING*** Nothing on input for '//trim(keyword)
1876 WRITE(nulprt1,*)
' Default value wght will be used ' 1877 WRITE(nulprt1,*)
' ' 1878 CALL oasis_flush(nulprt1)
1881 IF (trim(clvari) ==
'abort_on_bad_index' .or. &
1882 trim(clvari) ==
'ignore_bad_index' .or. &
1883 trim(clvari) ==
'ignore_bad_index_silently' .or. &
1884 trim(clvari) ==
'use_bad_index')
THEN 1887 CALL prtout(
'ERROR in namcouple '//trim(keyword)//
' argument',jf,1)
1888 WRITE(
tmpstr1,*)
'ERROR in namcouple '//trim(keyword)//
' argument '//trim(clvari)
1896 IF (mpi_rank_global == 0)
THEN 1897 write(nulprt1,*)
' The wgtopt value is nwgtopt = ',trim(
nwgtopt)
1910 IF (ilen .LE. 0)
THEN 1911 IF (mpi_rank_global == 0)
THEN 1912 WRITE(nulprt1,*)
' ***WARNING*** Nothing on input for '//trim(keyword)
1913 WRITE(nulprt1,*)
' Default values 1024 and 9999 will be used ' 1914 WRITE(nulprt1,*)
' ' 1915 CALL oasis_flush(nulprt1)
1918 READ(clvari, fmt=1004)
nuntmin 1921 READ(clvari, fmt=1004)
nuntmax 1923 IF (mpi_rank_global == 0)
THEN 1924 WRITE(nulprt1,*)
' ***WARNING*** Nothing on input for '//trim(keyword)//
' max' 1925 WRITE(nulprt1,*)
' Default value 9999 will be used ' 1926 WRITE(nulprt1,*)
' ' 1927 CALL oasis_flush(nulprt1)
1935 CALL prtout(
'The min IO unit number is nuntmin =',
nuntmin, 1)
1936 CALL prtout(
'The max IO unit number is nuntmax =',
nuntmax, 1)
1971 IF (.not.found)
THEN 1972 WRITE(
tmpstr1,*) trim(keyword)//
' not found in namcouple' 2001 IF (clvari(1:4) .EQ.
'ONCE')
THEN 2008 READ(clvari, fmt=2004)
ig_freq(jf)
2011 IF (mpi_rank_global == 0)
THEN 2012 WRITE(nulprt1,*)
' ' 2014 CALL prtout(
'ERROR in namcouple for field', jf, 1)
2015 WRITE(
tmpstr1,*)
'The coupling period must not be 0 !' 2016 WRITE(
tmpstr2,*)
'If you DO not want to exchange this field at all' 2017 WRITE(
tmpstr3,*)
'give a coupling period longer than the total run time.' 2021 IF (mpi_rank_global == 0)
THEN 2022 WRITE(nulprt1,*)
' ***WARNING*** The coupling period of the field ',jf
2023 WRITE(nulprt1,*)
' is greater than the time of the simulation ' 2024 WRITE(nulprt1,*)
' This field will not be exchanged !' 2025 CALL oasis_flush(nulprt1)
2037 ELSEIF (jf.gt.1)
THEN 2054 IF (clvari(1:8).eq.
'EXPORTED' .or. &
2055 clvari(1:8).eq.
'AUXILARY')
THEN 2057 ELSEIF (clvari(1:6) .eq.
'EXPOUT')
THEN 2069 IF (ilen .lt. 0)
THEN 2080 IF (mpi_rank_global == 0)
THEN 2081 WRITE(nulprt1, fmt=3043) jf
2084 READ(clvari, fmt=2011) clind, clequa, iind
2085 IF (clind .EQ.
'SEQ' .or. clind .EQ.
'LAG' .and. &
2086 clequa .EQ.
'=')
THEN 2108 DO ilind=ilind1, ilind2
2110 IF (ilen .eq. -1)
THEN 2111 IF (mpi_rank_global == 0)
THEN 2113 IF (.NOT. lllag)
WRITE(nulprt1, fmt=3043) jf
2118 READ(clvari, fmt=2011) clind, clequa, iind
2119 IF (clind .EQ.
'SEQ')
THEN 2123 ELSEIF (clind .eq.
'LAG')
THEN 2127 IF (mpi_rank_global == 0)
THEN 2128 WRITE(nulprt1, fmt=3044)jf,
ig_lag(jf)
2142 IF (mpi_rank_global == 0)
THEN 2143 WRITE(nulprt1,*) subname,
'9 Read line: ',trim(clline)
2144 CALL oasis_flush(nulprt1)
2148 IF (mpi_rank_global == 0)
THEN 2149 WRITE(nulprt1,*) subname,
'9 Read line :',trim(clline),
' clvari in 1 position: ',trim(clvari)
2150 CALL oasis_flush(nulprt1)
2156 CALL prtout(
'ERROR in namcouple for source grid type of field', jf, 1)
2157 WRITE(
tmpstr1,*)
'==> must be P or R' 2169 CALL prtout(
'ERROR in namcouple for target grid type of field', jf, 1)
2170 WRITE(
tmpstr1,*)
'==> must be P or R' 2191 IF (clvari(1:7) .eq.
'INSTANT')
THEN 2193 ELSEIF (clvari(1:7) .eq.
'AVERAGE')
THEN 2195 ELSEIF (clvari(1:7) .eq.
'ACCUMUL')
THEN 2197 ELSEIF (clvari(1:5) .eq.
'T_MIN')
THEN 2199 ELSEIF (clvari(1:5) .eq.
'T_MAX')
THEN 2202 CALL prtout(
'ERROR in namcouple for local transformations of field', jf, 1)
2203 WRITE(
tmpstr1,*)
'==> Must be INSTANT, AVERAGE, ACCUMUL, T_MIN or T_MAX' 2224 IF (clvari(1:7) .eq.
'INSTANT')
THEN 2226 ELSEIF (clvari(1:7) .eq.
'AVERAGE')
THEN 2228 ELSEIF (clvari(1:7) .eq.
'ACCUMUL')
THEN 2230 ELSEIF (clvari(1:5) .eq.
'T_MIN')
THEN 2232 ELSEIF (clvari(1:5) .eq.
'T_MAX')
THEN 2235 CALL prtout(
'ERROR in namcouple for local transformations of field', jf, 1)
2236 WRITE(
tmpstr1,*)
'==> Must be INSTANT, AVERAGE, ACCUMUL, T_MIN or T_MAX' 2253 IF (trim(clvari) ==
'src' .or. trim(clvari) ==
'dst')
THEN 2255 ELSEIF (trim(clvari) ==
'opt' .or. trim(clvari) ==
'bfb' .or. &
2256 trim(clvari) ==
'sum')
THEN 2259 CALL prtout(
'ERROR in namcouple mapping argument',jf,1)
2260 WRITE(
tmpstr1,*)
'ERROR in namcouple mapping argument ',trim(clvari),
' cmaptyp or loc' 2275 IF (mpi_rank_global == 0)
THEN 2276 WRITE(nulprt1,*)
' ' 2278 CALL prtout(
'ERROR in namcouple for type of field', jf, 1)
2279 WRITE(
tmpstr1,*)
'BICUBIC interpolation cannot be used if grid is not LR or D' 2285 IF (mpi_rank_global == 0)
THEN 2286 WRITE(nulprt1,*)
' ' 2288 CALL prtout(
'ERROR in namcouple for type of field', jf, 1)
2289 WRITE(
tmpstr1,*)
'BILINEAR interpolation cannot be used if grid is not LR or D' 2297 IF (mpi_rank_global == 0)
THEN 2298 WRITE(nulprt1,*)
' ' 2300 CALL prtout(
'ERROR in namcouple for type of field', jf, 1)
2301 WRITE(
tmpstr1,*)
'==> must be SCALAR, VECTOR' 2311 IF (mpi_rank_global == 0)
THEN 2312 WRITE(nulprt1,*)
' ' 2314 CALL prtout(
'ERROR in namcouple for restriction of field',jf,1)
2315 WRITE(
tmpstr1,*)
'==> LATITUDE must be chosen for reduced grids (D)' 2326 IF (mpi_rank_global == 0)
THEN 2327 WRITE(nulprt1,*)
' ' 2329 CALL prtout(
'ERROR in namcouple for restriction of field',jf,1)
2330 WRITE(
tmpstr1,*)
'==> must be LATITUDE or LATLON' 2344 IF (mpi_rank_global == 0)
THEN 2345 WRITE(nulprt1,*)
' ' 2347 CALL prtout(
'ERROR in namcouple for normalize option of field',jf,1)
2348 WRITE(
tmpstr1, *)
'==> must be FRACAREA, DESTAREA, or FRACNNEI' 2353 IF (ilen .LE. 0)
THEN 2354 IF (mpi_rank_global == 0)
THEN 2355 WRITE(nulprt1,*)
' ' 2357 CALL prtout(
'ERROR in namcouple for CONSERV for field',jf,1)
2358 WRITE(
tmpstr1,*)
'==> FIRST must be indicated at end of line' 2369 IF (ilen .LE. 0)
THEN 2370 IF (mpi_rank_global == 0)
THEN 2371 WRITE(nulprt1,*)
' ' 2373 CALL prtout(
'ERROR in namcouple for field',jf,1)
2374 WRITE(
tmpstr1,*)
'==> Number of neighbours must be indicated on the line' 2383 IF (ilen .LE. 0)
THEN 2384 IF (mpi_rank_global == 0)
THEN 2385 WRITE(nulprt1,*)
' ' 2387 CALL prtout(
'ERROR in namcouple for GAUSWGT for field',jf,1)
2388 WRITE(
tmpstr1,*)
'==> Variance must be indicated at end of line' 2392 READ(clvari, fmt=2012) cvarmul
2394 IF ( index(cvarmul,
'.') == 0 )
then 2395 READ(cvarmul,fmt=2013) ivarmul
2417 READ(clvari, fmt=2005)
nfcoast 2424 READ(clvari, fmt=2005)
nlucor 2435 IF (trim(clvari) ==
'bfb' .or. trim(clvari) ==
'opt' .or. &
2436 trim(clvari) ==
'lsum8' .or. trim(clvari) ==
'lsum16' .or. &
2437 trim(clvari) ==
'gather' .or. trim(clvari) ==
'ddpdd' .or. &
2438 trim(clvari) ==
'reprosum')
THEN 2441 CALL prtout(
'ERROR in namcouple conserv argument',jf,1)
2442 WRITE(
tmpstr1,*)
'ERROR in namcouple conserv argument '//trim(clvari)
2450 READ(clvari, fmt=2012) cafldcobo
2452 IF ( index(cafldcobo,
'.') == 0 )
then 2453 READ(cafldcobo,fmt=2013) iafldcobo
2466 READ(clvari, fmt=2012) cabocoef
2467 IF ( index(cabocoef,
'.') == 0 )
THEN 2468 READ(cabocoef,fmt=2013) iabocoef
2478 READ(clvari, fmt=2012) cafldcobn
2480 IF ( index(cafldcobn,
'.') == 0 )
then 2481 READ(cafldcobn,fmt=2013) iafldcobn
2494 READ(clvari, fmt=2012) cabncoef
2495 IF ( index(cabncoef,
'.') == 0 )
THEN 2496 READ(cabncoef,fmt=2013) iabncoef
2503 WRITE(
tmpstr1,*)
' Type of analysis not implemented yet ' 2504 WRITE(
tmpstr2,*)
' The analysis required in OASIS is :' 2506 WRITE(
tmpstr4,*)
' with ja = ', ja,
' jf = ', jf
2531 2010
FORMAT(a3,a1,i2)
2532 2011
FORMAT(a3,a1,i8)
2538 IF (mpi_rank_global == 0)
THEN 2542 cl_print_state =
'EXPORTED' 2544 cl_print_state =
'IGNORED' 2546 cl_print_state =
'IGNOUT' 2548 cl_print_state =
'EXPOUT' 2550 cl_print_state =
'INPUT' 2552 cl_print_state =
'OUTPUT' 2554 cl_print_state =
'AUXILARY' 2558 cl_print_trans =
'INSTANT' 2560 cl_print_trans =
'AVERAGE' 2562 cl_print_trans =
'ACCUMUL' 2564 cl_print_trans =
'T_MIN' 2566 cl_print_trans =
'T_MAX' 2572 WRITE(nulprt1, fmt=3001) jf
2573 WRITE(nulprt1, fmt=3002)
2574 WRITE(nulprt1, fmt=3003)
2575 WRITE(nulprt1, fmt=3004)
2578 WRITE(nulprt1, fmt=3121) &
2580 ig_freq(jf), cl_print_trans, &
2583 WRITE(nulprt1, fmt=3116) &
2592 WRITE(nulprt1, fmt=3001) jf
2593 WRITE(nulprt1, fmt=3002)
2594 WRITE(nulprt1, fmt=3003)
2595 WRITE(nulprt1, fmt=3004)
2596 WRITE(nulprt1, fmt=3005) &
2619 WRITE(nulprt1, fmt=3007) &
2622 WRITE(nulprt1, fmt=3008) &
2631 WRITE(nulprt1, fmt=3009)
2632 WRITE(nulprt1, fmt=3010)
2636 write(nulprt1, fmt=3048) &
2641 WRITE(nulprt1, fmt=3045) &
2651 WRITE(nulprt1, fmt=3025) &
2655 WRITE(nulprt1, fmt=3027) &
2660 WRITE(nulprt1, fmt=3030) &
2665 WRITE(nulprt1, fmt=3027) &
2670 WRITE(nulprt1, fmt=3030) &
2675 WRITE(nulprt1,*)
' ' 2677 WRITE(nulprt1,*)
' ' 2679 WRITE(nulprt1, fmt=3047) cl_print_trans
2681 WRITE(
tmpstr1,*)
' Type of analysis not implemented yet ' 2682 WRITE(
tmpstr2,*)
' The analysis required in OASIS is :' 2684 WRITE(
tmpstr4,*)
' with ja = ', ja,
' jf = ', jf
2696 IF (mpi_rank_global == 0)
THEN 2699 WRITE(nulprt1,*) subname,
'-- End of ROUTINE --' 2700 CALL oasis_flush (nulprt1)
2708 3001
FORMAT(//,15x,
' FIELD NUMBER ',i3)
2709 3002
FORMAT(15x,
' ************ ')
2710 3003
FORMAT(/,10x,
' Field parameters ')
2711 3004
FORMAT(10x,
' **************** ',/)
2712 3005
FORMAT(/,10x,
' Input field symbolic name = ',a, &
2713 /,10x,
' Output field symbolic name = ',a, &
2714 /,10x,
' Field exchange frequency = ',i8, &
2715 /,10x,
' Model sequential index = ',i2, &
2716 /,10x,
' Field Lag = ',i8, &
2717 /,10x,
' Field I/O status = ',a8, &
2718 /,10x,
' Number of basic operations = ',i4, /)
2719 3116
FORMAT(/,10x,
' Input field symbolic name = ',a8, &
2720 /,10x,
' Output field symbolic name = ',a8, &
2721 /,10x,
' Field exchange frequency = ',i8, &
2722 /,10x,
' Local transformation = ',a8, &
2723 /,10x,
' Model sequential index = ',i2, &
2724 /,10x,
' Field Lag = ',i8, &
2725 /,10x,
' Field I/O status = ',a8, &
2726 /,10x,
' Number of basic operations = ',i4,/)
2727 3117
FORMAT(/,10x,
' Restart file name = ',a32,/)
2728 3118
FORMAT(/,10x,
' Input file name = ',a32,/)
2729 3121
FORMAT(/,10x,
' Input field symbolic name = ',a8, &
2730 /,10x,
' Output field symbolic name = ',a8, &
2731 /,10x,
' Field exchange frequency = ',i8, &
2732 /,10x,
' Local transformation = ',a8, &
2733 /,10x,
' Field I/O status = ',a8, &
2734 /,10x,
' Number of basic operations = ',i4,/)
2736 /,10x,
' Source grid periodicity type is = ',a8, &
2737 /,10x,
' Number of overlapped grid points is = ',i2, &
2738 /,10x,
' Target grid periodicity type is = ',a8, &
2739 /,10x,
' Number of overlapped grid points is = ',i2,/)
2740 3008
FORMAT(/,10x,
' Source longitude file string = ',a8, &
2741 /,10x,
' Source latitude file string = ',a8, &
2742 /,10x,
' Source mask file string = ',a8, &
2743 /,10x,
' Source surface file string = ',a8, &
2744 /,10x,
' Target longitude file string = ',a8, &
2745 /,10x,
' Target latitude file string = ',a8, &
2746 /,10x,
' Target mask file string = ',a8, &
2747 /,10x,
' Target surface file string = ',a8,/)
2748 3009
FORMAT(/,10x,
' ANALYSIS PARAMETERS ')
2749 3010
FORMAT(10x,
' ******************* ',/)
2750 3011
FORMAT(/,5x,
' ANALYSIS number ',i2,
' is ',a8, &
2751 /,5x,
' *************** ',/)
2752 3025
FORMAT(5x,
' Conservation method for field is = ',a8, &
2753 /,5x,
' Conservation option is = ',a8)
2754 3027
FORMAT(5x,
' Field ',a,
' is multiplied by Cst = ',e15.6)
2755 3028
FORMAT(5x,
' It is combined with N fields N = ',i2)
2756 3030
FORMAT(5x,
' With field ',a8,
' coefficient = ',e15.6)
2757 3043
FORMAT(/,5x,
'No lag in namcouple for the field', i3, &
2758 /,5x,
' Default value LAG=0 will be used ')
2759 3044
FORMAT(/,5x,
'The lag for the field ',i3,3x,
'is : ',i8)
2760 3045
FORMAT(5x,
' Remapping method is = ',a8, &
2761 /,5x,
' Field type is = ',a8, &
2762 /,5x,
' Normalization option is = ',a8, &
2763 /,5x,
' Seach restriction type is = ',a8, &
2764 /,5x,
' Number of search bins is = ',i4)
2765 3046
FORMAT(5x,
' Order of remapping is = ',a8)
2766 3047
FORMAT(5x,
' Local transformation = ',a8)
2767 3048
FORMAT(5x,
' Remapping filename is = ',a, &
2768 /,5x,
' Mapping location is = ',a8, &
2769 /,5x,
' Mapping optimization is = ',a8)
2781 CHARACTER(len=*),
parameter :: subname=
'(mod_oasis_namcouple:alloc)' 2801 IF (
il_err.NE.0)
CALL prtout(
'Error in "ncofld"allocation of analysis module',
il_err,1)
2804 IF (
il_err.NE.0)
CALL prtout(
'Error in "neighborg"allocation of analysis module',
il_err,1)
2807 IF (
il_err.NE.0)
CALL prtout(
'Error in "nludat"allocation of analysis module',
il_err,1)
2810 IF (
il_err.NE.0)
CALL prtout(
'Error in "nlufil"allocation of analysis module',
il_err,1)
2813 IF (
il_err.NE.0)
CALL prtout(
'Error in "nlumap"allocation of analysis module',
il_err,1)
2816 IF (
il_err.NE.0)
CALL prtout(
'Error in "nlusub"allocation of analysis module',
il_err,1)
2819 IF (
il_err.NE.0)
CALL prtout(
'Error in "nluext"allocation of analysis module',
il_err,1)
2822 IF (
il_err.NE.0)
CALL prtout(
'Error in "nosper"allocation of analysis module',
il_err,1)
2825 IF (
il_err.NE.0)
CALL prtout(
'Error in "notper"allocation of analysis module',
il_err,1)
2828 IF (
il_err.NE.0)
CALL prtout(
'Error in "amskval"allocation of analysis module',
il_err,1)
2831 IF (
il_err.NE.0)
CALL prtout(
'Error in "amskvalnew"allocation of analysis module',
il_err,1)
2834 IF (
il_err.NE.0)
CALL prtout(
'Error in "acocoef"allocation of analysis module',
il_err,1)
2837 IF (
il_err.NE.0)
CALL prtout(
'Error in "abocoef"allocation of analysis module',
il_err,1)
2840 IF (
il_err.NE.0)
CALL prtout(
'Error in "abncoef"allocation of analysis module',
il_err,1)
2843 IF (
il_err.NE.0)
CALL prtout(
'Error in "afldcoef"allocation of analysis module',
il_err,1)
2846 IF (
il_err.NE.0)
CALL prtout(
'Error in "afldcobo"allocation of analysis module',
il_err,1)
2849 IF (
il_err.NE.0)
CALL prtout(
'Error in "afldcobn"allocation of analysis module',
il_err,1)
2852 IF (
il_err.NE.0)
CALL prtout(
'Error in "cxordbf"allocation of analysis module',
il_err,1)
2855 IF (
il_err.NE.0)
CALL prtout(
'Error in "cyordbf"allocation of analysis module',
il_err,1)
2858 IF (
il_err.NE.0)
CALL prtout(
'Error in "cxordaf"allocation of analysis module',
il_err,1)
2861 IF (
il_err.NE.0)
CALL prtout(
'Error in "cyordaf"allocation of analysis module',
il_err,1)
2864 IF (
il_err.NE.0)
CALL prtout(
'Error in "cgrdtyp"allocation of analysis module',
il_err,1)
2867 IF (
il_err.NE.0)
CALL prtout(
'Error in "cfldtyp"allocation of analysis module',
il_err,1)
2870 IF (
il_err.NE.0)
CALL prtout(
'Error in "cfilfic"allocation of analysis module',
il_err,1)
2873 IF (
il_err.NE.0)
CALL prtout(
'Error in "cfilmet"allocation of analysis module',
il_err,1)
2876 IF (
il_err.NE.0)
CALL prtout(
'Error in "cconmet"allocation of analysis module',
il_err,1)
2879 IF (
il_err.NE.0)
CALL prtout(
'Error in "cconopt"allocation of analysis module',
il_err,1)
2882 IF (
il_err.NE.0)
CALL prtout(
'Error in "cfldcoa"allocation of analysis module',
il_err,1)
2885 IF (
il_err.NE.0)
CALL prtout(
'Error in "cfldfin"allocation of analysis module',
il_err,1)
2888 IF (
il_err.NE.0)
CALL prtout(
'Error in "ccofld"allocation of analysis module',
il_err,1)
2891 IF (
il_err.NE.0)
CALL prtout(
'Error in "cbofld"allocation of analysis module',
il_err,1)
2894 IF (
il_err.NE.0)
CALL prtout(
'Error in "cbnfld"allocation of analysis module',
il_err,1)
2897 IF (
il_err.NE.0)
CALL prtout(
'Error in "ccofic"allocation of analysis module',
il_err,1)
2900 IF (
il_err.NE.0)
CALL prtout(
'Error in "cdqdt"allocation of analysis module',
il_err,1)
2903 IF (
il_err.NE.0)
CALL prtout(
'Error in "cgrdmap"allocation of analysis module',
il_err,1)
2906 IF (
il_err.NE.0)
CALL prtout(
'Error in "cmskrd"allocation of analysis module',
il_err,1)
2909 IF (
il_err.NE.0)
CALL prtout(
'Error in "cgrdsub"allocation of analysis module',
il_err,1)
2912 IF (
il_err.NE.0)
CALL prtout(
'Error in "ctypsub"allocation of analysis module',
il_err,1)
2915 IF (
il_err.NE.0)
CALL prtout(
'Error in "cgrdext"allocation of analysis module',
il_err,1)
2918 IF (
il_err.NE.0)
CALL prtout(
'Error in "csper"allocation of analysis module',
il_err,1)
2921 IF (
il_err.NE.0)
CALL prtout(
'Error in "ctper"allocation of analysis module',
il_err,1)
2924 IF (
il_err.NE.0)
CALL prtout(
'Error in "lsurf"allocation of analysis module',
il_err,1)
2927 IF (
il_err.NE.0)
CALL prtout(
'Error in nscripvoi allocation of analysis module',
il_err,1)
2933 IF (
il_err.NE.0)
CALL prtout(
'Error in "cmap_method" allocation of '//trim(subname),
il_err,1)
2936 IF (
il_err.NE.0)
CALL prtout(
'Error in "cmap_file" allocation of '//trim(subname),
il_err,1)
2939 IF (
il_err.NE.0)
CALL prtout(
'Error in "cmaptyp" allocation of '//trim(subname),
il_err,1)
2942 IF (
il_err.NE.0)
CALL prtout(
'Error in "cmapopt" allocation of '//trim(subname),
il_err,1)
2945 IF (
il_err.NE.0)
CALL prtout(
'Error in "cfldtype"allocation of '//trim(subname),
il_err,1)
2948 IF (
il_err.NE.0)
CALL prtout(
'Error in "crsttype"allocation of '//trim(subname),
il_err,1)
2951 IF (
il_err.NE.0)
CALL prtout(
'Error in "nbins"allocation of '//trim(subname),
il_err,1)
2954 IF (
il_err.NE.0)
CALL prtout(
'Error in "cnorm_opt"allocation of '//trim(subname),
il_err,1)
2957 IF (
il_err.NE.0)
CALL prtout(
'Error in "corder"allocation of '//trim(subname),
il_err,1)
2962 IF (
il_err.NE.0)
CALL prtout(
'Error in "niwtn"allocation of extrapol module',
il_err,1)
2965 IF (
il_err.NE.0)
CALL prtout(
'Error in "niwtng"allocation of extrapol module',
il_err,1)
2968 IF (
il_err.NE.0)
CALL prtout(
'Error in "lextra"allocation of extrapol module',
il_err,1)
2971 IF (
il_err.NE.0)
CALL prtout(
'Error in "lweight"allocation of extrapol module',
il_err,1)
2976 IF (
il_err.NE.0)
CALL prtout(
'Error in "lmapp"allocation of rainbow module',
il_err,1)
2979 IF (
il_err.NE.0)
CALL prtout(
'Error in "lsubg"allocation of rainbow module',
il_err,1)
2984 IF (
il_err.NE.0)
CALL prtout(
'Error in "cg_name_rstfile"allocation of string module',
il_err,1)
2987 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_lag"allocation of string module',
il_err,1)
2990 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_no_rstfile"allocation of string module',
il_err,1)
2993 IF (
il_err.NE.0)
CALL prtout(
'Error in "cg_input_field"allocation of string module',
il_err,1)
2996 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_numlab"allocation of string module',
il_err,1)
2999 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_freq"allocation of string module',
il_err,1)
3002 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_total_nseqn"allocation of string module',
il_err,1)
3005 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_local_trans"allocation of string module',
il_err,1)
3008 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_invert" allocation of string module',
il_err,1)
3011 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_reverse" allocation of string module',
il_err,1)
3019 IF (
il_err.NE.0)
CALL prtout(
'Error in "numlab"allocation of string module',
il_err,1)
3022 IF (
il_err.NE.0)
CALL prtout(
'Error in "nfexch"allocation of string module',
il_err,1)
3028 IF (
il_err.NE.0)
CALL prtout(
'Error in "nlagn" allocation of string module',
il_err,1)
3031 IF (
il_err.NE.0)
CALL prtout(
'Error in "cnaminp"allocation of string module',
il_err,1)
3034 IF (
il_err.NE.0)
CALL prtout(
'Error in "cnamout"allocation of string module',
il_err,1)
3037 IF (
il_err.NE.0)
CALL prtout(
'Error in "cficout"allocation of string module',
il_err,1)
3040 IF (
il_err.NE.0)
CALL prtout(
'Error in "cstate"allocation of string module',
il_err,1)
3046 END SUBROUTINE alloc 3056 CHARACTER(len=*),
parameter :: subname=
'(mod_oasis_namcouple:dealloc)' 3060 IF (
il_err.NE.0)
CALL prtout(
'Error in "varmul"deallocation of anais module',
il_err,1)
3062 IF (
il_err.NE.0)
CALL prtout(
'Error in "niwtm"deallocation of anais module',
il_err,1)
3064 IF (
il_err.NE.0)
CALL prtout(
'Error in "niwtg"deallocation of anais module',
il_err,1)
3066 IF (
il_err.ne.0)
CALL prtout(
'error in "linit"deallocation of anais module',
il_err,1)
3070 IF (
il_err.NE.0)
CALL prtout(
'Error in "ncofld"deallocation of analysis module',
il_err,1)
3072 IF (
il_err.NE.0)
CALL prtout(
'Error in "neighborg"deallocation of analysis module',
il_err,1)
3074 IF (
il_err.NE.0)
CALL prtout(
'Error in "nludat"deallocation of analysis module',
il_err,1)
3076 IF (
il_err.NE.0)
CALL prtout(
'Error in "nlufil"deallocation of analysis module',
il_err,1)
3078 IF (
il_err.NE.0)
CALL prtout(
'Error in "nlumap"deallocation of analysis module',
il_err,1)
3080 IF (
il_err.NE.0)
CALL prtout(
'Error in "nlusub"deallocation of analysis module',
il_err,1)
3082 IF (
il_err.NE.0)
CALL prtout(
'Error in "nluext"deallocation of analysis module',
il_err,1)
3084 IF (
il_err.NE.0)
CALL prtout(
'Error in "nosper"deallocation of analysis module',
il_err,1)
3086 IF (
il_err.NE.0)
CALL prtout(
'Error in "notper"deallocation of analysis module',
il_err,1)
3088 IF (
il_err.NE.0)
CALL prtout(
'Error in "amskval"deallocation of analysis module',
il_err,1)
3090 IF (
il_err.NE.0)
CALL prtout(
'Error in "amskvalnew"deallocation of analysis module',
il_err,1)
3092 IF (
il_err.NE.0)
CALL prtout(
'Error in "acocoef"deallocation of analysis module',
il_err,1)
3094 IF (
il_err.NE.0)
CALL prtout(
'Error in "abocoef"deallocation of analysis module',
il_err,1)
3096 IF (
il_err.NE.0)
CALL prtout(
'Error in "abncoef"deallocation of analysis module',
il_err,1)
3098 IF (
il_err.NE.0)
CALL prtout(
'Error in "afldcoef"deallocation of analysis module',
il_err,1)
3100 IF (
il_err.NE.0)
CALL prtout(
'Error in "afldcobo"deallocation of analysis module',
il_err,1)
3102 IF (
il_err.NE.0)
CALL prtout(
'Error in "afldcobn"deallocation of analysis module',
il_err,1)
3104 IF (
il_err.NE.0)
CALL prtout(
'Error in "cxordbf"deallocation of analysis module',
il_err,1)
3106 IF (
il_err.NE.0)
CALL prtout(
'Error in "cyordbf"deallocation of analysis module',
il_err,1)
3108 IF (
il_err.NE.0)
CALL prtout(
'Error in "cxordaf"deallocation of analysis module',
il_err,1)
3110 IF (
il_err.NE.0)
CALL prtout(
'Error in "cyordaf"deallocation of analysis module',
il_err,1)
3112 IF (
il_err.NE.0)
CALL prtout(
'Error in "cgrdtyp"deallocation of analysis module',
il_err,1)
3114 IF (
il_err.NE.0)
CALL prtout(
'Error in "cfldtyp"deallocation of analysis module',
il_err,1)
3116 IF (
il_err.NE.0)
CALL prtout(
'Error in "cfilfic"deallocation of analysis module',
il_err,1)
3118 IF (
il_err.NE.0)
CALL prtout(
'Error in "cfilmet"deallocation of analysis module',
il_err,1)
3120 IF (
il_err.NE.0)
CALL prtout(
'Error in "cconmet"deallocation of analysis module',
il_err,1)
3122 IF (
il_err.NE.0)
CALL prtout(
'Error in "cconopt"deallocation of analysis module',
il_err,1)
3124 IF (
il_err.NE.0)
CALL prtout(
'Error in "cfldcoa"deallocation of analysis module',
il_err,1)
3126 IF (
il_err.NE.0)
CALL prtout(
'Error in "cfldfin"deallocation of analysis module',
il_err,1)
3128 IF (
il_err.NE.0)
CALL prtout(
'Error in "ccofld"deallocation of analysis module',
il_err,1)
3130 IF (
il_err.NE.0)
CALL prtout(
'Error in "cbofld"deallocation of analysis module',
il_err,1)
3132 IF (
il_err.NE.0)
CALL prtout(
'Error in "cbnfld"deallocation of analysis module',
il_err,1)
3134 IF (
il_err.NE.0)
CALL prtout(
'Error in "ccofic"deallocation of analysis module',
il_err,1)
3136 IF (
il_err.NE.0)
CALL prtout(
'Error in "cdqdt"deallocation of analysis module',
il_err,1)
3138 IF (
il_err.NE.0)
CALL prtout(
'Error in "cgrdmap"deallocation of analysis module',
il_err,1)
3140 IF (
il_err.NE.0)
CALL prtout(
'Error in "cmskrd"deallocation of analysis module',
il_err,1)
3142 IF (
il_err.NE.0)
CALL prtout(
'Error in "cgrdsub"deallocation of analysis module',
il_err,1)
3144 IF (
il_err.NE.0)
CALL prtout(
'Error in "ctypsub"deallocation of analysis module',
il_err,1)
3146 IF (
il_err.NE.0)
CALL prtout(
'Error in "cgrdext"deallocation of analysis module',
il_err,1)
3148 IF (
il_err.NE.0)
CALL prtout(
'Error in "csper"deallocation of analysis module',
il_err,1)
3150 IF (
il_err.NE.0)
CALL prtout(
'Error in "ctper"deallocation of analysis module',
il_err,1)
3152 IF (
il_err.NE.0)
CALL prtout(
'Error in "lsurf"deallocation of analysis module',
il_err,1)
3154 IF (
il_err.NE.0)
CALL prtout(
'Error in nscripvoi deallocation of analysis module',
il_err,1)
3159 IF (
il_err.NE.0)
CALL prtout(
'Error in "cmap_method" deallocation of scrip module',
il_err,1)
3161 IF (
il_err.NE.0)
CALL prtout(
'Error in "cmap_file" deallocation of scrip module',
il_err,1)
3163 IF (
il_err.NE.0)
CALL prtout(
'Error in "cmaptyp" deallocation of scrip module',
il_err,1)
3165 IF (
il_err.NE.0)
CALL prtout(
'Error in "cmapopt" deallocation of scrip module',
il_err,1)
3167 IF (
il_err.NE.0)
CALL prtout(
'Error in "cfldtype"deallocation of scrip module',
il_err,1)
3169 IF (
il_err.NE.0)
CALL prtout(
'Error in "crsttype"deallocation of scrip module',
il_err,1)
3171 IF (
il_err.NE.0)
CALL prtout(
'Error in "nbins"deallocation of scrip module',
il_err,1)
3173 IF (
il_err.NE.0)
CALL prtout(
'Error in "cnorm_opt"deallocation of scrip module',
il_err,1)
3175 IF (
il_err.NE.0)
CALL prtout(
'Error in "corder"deallocation of scrip module',
il_err,1)
3179 IF (
il_err.NE.0)
CALL prtout(
'Error in "niwtn"deallocation of extrapol module',
il_err,1)
3181 IF (
il_err.NE.0)
CALL prtout(
'Error in "niwtng"deallocation of extrapol module',
il_err,1)
3183 IF (
il_err.NE.0)
CALL prtout(
'Error in "lextra"deallocation of extrapol module',
il_err,1)
3185 IF (
il_err.NE.0)
CALL prtout(
'Error in "lweight"deallocation of extrapol module',
il_err,1)
3189 IF (
il_err.NE.0)
CALL prtout(
'Error in "lmapp"deallocation of rainbow module',
il_err,1)
3191 IF (
il_err.NE.0)
CALL prtout(
'Error in "lsubg"deallocation of rainbow module',
il_err,1)
3195 IF (
il_err.NE.0)
CALL prtout(
'Error in "cg_name_rstfile"deallocation of string module',
il_err,1)
3197 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_lag"deallocation of string module',
il_err,1)
3199 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_no_rstfile"deallocation of string module',
il_err,1)
3201 IF (
il_err.NE.0)
CALL prtout(
'Error in "cg_input_field"deallocation of string module',
il_err,1)
3203 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_numlab"deallocation of string module',
il_err,1)
3205 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_freq"deallocation of string module',
il_err,1)
3207 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_total_nseqn"deallocation of string module',
il_err,1)
3209 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_local_trans"deallocation of string module',
il_err,1)
3211 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_invert" deallocation of string module',
il_err,1)
3213 IF (
il_err.NE.0)
CALL prtout(
'Error in "ig_reverse" deallocation of string module',
il_err,1)
3220 IF (
il_err.NE.0)
CALL prtout(
'Error in "numlab"deallocation of string module',
il_err,1)
3222 IF (
il_err.NE.0)
CALL prtout(
'Error in "nfexch"deallocation of string module',
il_err,1)
3224 IF (
il_err.NE.0)
CALL prtout(
'Error in "nseqn"deallocation of string module',
il_err,1)
3226 IF (
il_err.NE.0)
CALL prtout(
'Error in "nlagn" deallocation of string module',
il_err,1)
3228 IF (
il_err.NE.0)
CALL prtout(
'Error in "cnaminp"deallocation of string module',
il_err,1)
3230 IF (
il_err.NE.0)
CALL prtout(
'Error in "cnamout"deallocation of string module',
il_err,1)
3232 IF (
il_err.NE.0)
CALL prtout(
'Error in "cficout"deallocation of string module',
il_err,1)
3234 IF (
il_err.NE.0)
CALL prtout(
'Error in "cstate"deallocation of string module',
il_err,1)
3245 SUBROUTINE prtout(cdtext, kvalue, kstyle)
3300 CHARACTER(len=*),
intent(in) :: cdtext
3301 INTEGER (kind=ip_intwp_p),
intent(in) :: kvalue
3302 INTEGER (kind=ip_intwp_p),
intent(in) :: kstyle
3306 INTEGER(kind=ip_intwp_p) :: ilen,jl
3308 CHARACTER(len=*),
PARAMETER :: cbase =
'-' 3309 CHARACTER(len=*),
PARAMETER :: cprpt =
'* ===>>> :' 3310 CHARACTER(len=*),
PARAMETER :: cdots =
' ------ ' 3311 CHARACTER(len=*),
parameter :: subname=
'(mod_oasis_namcouple:prtout)' 3322 IF (mpi_rank_global == 0)
THEN 3323 IF ( kstyle .EQ. 1 .OR. kstyle .EQ. 2)
THEN 3327 cline(jl:jl) = cbase
3330 IF ( kstyle .EQ. 2 )
THEN 3331 WRITE(nulprt1, fmt=
'(/,A,1X,A)') cdots, cline
3333 WRITE(nulprt1, fmt=
'(A,1X,A,1X,I18)') cprpt, cdtext, kvalue
3334 WRITE(nulprt1, fmt=
'(A,1X,A,/)') cdots, cline
3336 WRITE(nulprt1, fmt=
'(/,A,1X,A,1X,I18,/)') cprpt, cdtext, kvalue
3342 CALL oasis_flush(nulprt1)
3395 CHARACTER (len=*) ,
INTENT ( in) :: keyword
3396 CHARACTER (len=*) ,
INTENT (out) :: line
3397 LOGICAL ,
INTENT (out) :: found
3401 CHARACTER (len=jpeighty) :: clline
3402 CHARACTER (len=jpeighty) :: clvari
3403 INTEGER (kind=ip_intwp_p):: ILEN, ios, ios2
3404 CHARACTER(len=*),
parameter :: subname=
'(mod_oasis_namcouple:findkeyword)' 3416 DO WHILE (.not.found)
3417 READ(
nulin, fmt=
rform, end=110, iostat=ios2) clline
3424 IF (clvari == adjustl(keyword))
THEN 3486 CHARACTER (len=*) ,
INTENT (in) :: line
3490 CHARACTER (len=jpeighty) :: clline
3491 CHARACTER (len=1),
SAVE :: clblank =
' ', clcmt =
'#' 3492 CHARACTER(len=*),
parameter :: subname=
'(mod_oasis_namcouple:checkcomment)' 3502 clline = adjustl(line)
3503 IF (clline(1:1) == clcmt .or. len_trim(clline) == 0)
THEN 3516 SUBROUTINE parse (cdone, cdtwo, knumb, klen, kleng, line)
3576 CHARACTER (len=*) ,
INTENT (inout) :: cdone
3577 INTEGER (kind=ip_intwp_p),
INTENT ( in) :: knumb
3578 INTEGER (kind=ip_intwp_p),
INTENT ( in) :: klen
3579 INTEGER (kind=ip_intwp_p),
INTENT ( in) :: line
3580 CHARACTER (len=*) ,
INTENT (out) :: cdtwo
3581 INTEGER (kind=ip_intwp_p),
INTENT (out) :: kleng
3585 INTEGER(kind=ip_intwp_p) :: ii,jl
3586 CHARACTER (len=klen) :: clline
3587 CHARACTER (len=klen) :: clwork
3588 CHARACTER (len=1),
SAVE :: clblank =
' ', clcmt =
'#' 3589 CHARACTER(len=*),
parameter :: subname=
'(mod_oasis_namcouple:parse)' 3600 write(
tmpstr1,*) subname,
' ERROR comment line found:', trim(cdone)
3601 write(
tmpstr1,*) subname,
' ERROR called from :',line
3608 clwork = adjustl(cdone)
3616 IF ( len_trim( clwork) .LE. 0)
THEN 3625 IF (knumb .GE. 2)
THEN 3627 ii = index( clwork, clblank) - 1
3628 clwork( 1:ii) = clblank
3629 clwork = adjustl( clwork)
3633 IF (len_trim( clwork) .LE. 0)
THEN 3643 kleng = index( clwork, clblank) - 1
3647 cdtwo( 1:kleng) = clwork( 1: kleng)
3653 END SUBROUTINE parse 3659 SUBROUTINE skip (cd_one, id_len, endflag, ios)
3699 CHARACTER(len=*),
intent(inout) :: cd_one
3700 INTEGER (kind=ip_intwp_p),
intent(in) :: id_len
3701 LOGICAL,
optional,
intent(inout) :: endflag
3702 INTEGER (kind=ip_intwp_p),
OPTIONAL,
INTENT(out) :: ios
3706 CHARACTER(len=id_len) :: cl_line
3708 CHARACTER(len=*),
parameter :: subname=
'(mod_oasis_namcouple:skip)' 3714 IF (
present(endflag)) endflag = .false.
3715 IF (
present(ios)) ios = 0
3719 DO WHILE (.not.found)
3721 READ(
nulin, fmt=
rform, end=140, iostat=ios) cl_line
3732 IF (
present(endflag)) endflag = .true.
3733 IF (
PRESENT(ios)) ios = -1
3745 SUBROUTINE namcouple_abort(isubname,lineno,string1,string2,string3,string4)
3750 CHARACTER(len=*),
intent(in) :: isubname
3751 INTEGER ,
intent(in) :: lineno
3752 CHARACTER(len=*),
intent(in),
optional :: string1
3753 CHARACTER(len=*),
intent(in),
optional :: string2
3754 CHARACTER(len=*),
intent(in),
optional :: string3
3755 CHARACTER(len=*),
intent(in),
optional :: string4
3759 CHARACTER(len=*),
parameter :: subname=
'(mod_oasis_namcouple:namcouple_abort)' 3765 IF (mpi_rank_global == 0)
THEN 3766 WRITE(nulprt1,*)
' ' 3767 WRITE(nulprt1,*) subname,
' calling ABORT' 3768 WRITE(nulprt1,*)
' **** ABORT from ',trim(isubname),
' line number ',lineno
3769 IF (
present(string1))
WRITE(nulprt1,*)
' **** ',trim(isubname),
' : ',trim(string1)
3770 IF (
present(string2))
WRITE(nulprt1,*)
' **** ',trim(isubname),
' : ',trim(string2)
3771 IF (
present(string3))
WRITE(nulprt1,*)
' **** ',trim(isubname),
' : ',trim(string3)
3772 IF (
present(string4))
WRITE(nulprt1,*)
' **** ',trim(isubname),
' : ',trim(string4)
3773 WRITE(nulprt1,*)
' ' 3774 CALL oasis_flush(nulprt1)
3776 call oasis_abort(file=__file__,line=__line__)
character(len=8), dimension(:), allocatable cxordaf
integer(kind=ip_intwp_p), parameter ip_cglbpos
integer(kind=ip_intwp_p), dimension(:), allocatable neighborg
character(len=ic_med), dimension(:), pointer, public namfldcoo
conserv fld option (bfb, opt)
character(len=8), dimension(:), allocatable cficout
integer(kind=ip_intwp_p), parameter ip_output
character(len=jpeighty), dimension(:), pointer, public namsrcfld
list of src fields
real(kind=ip_realwp_p), dimension(:), pointer, public namfldsmu
src multiplier term
integer(kind=ip_intwp_p), dimension(:), allocatable nlagn
character(len=4), dimension(:), allocatable cga_locatoraf
real(kind=ip_realwp_p), dimension(:), allocatable varmul
subroutine dealloc()
Deallocates temporary arrays for namcouple input.
integer(kind=ip_intwp_p) nlogprt
integer(kind=ip_intwp_p), dimension(:), allocatable nseqn
integer(kind=ip_intwp_p), parameter jpeighty
max number of characters to be read in each line of the file namcouple
integer(kind=ip_intwp_p), dimension(:), allocatable nsubfl
logical, dimension(:), allocatable lweight
real(kind=ip_realwp_p), dimension(:), allocatable afldcobo
character(len=8), dimension(:), allocatable cdqdt
character(len=8), dimension(:,:), allocatable cbnfld
Provides a common location for several OASIS variables.
character *9, parameter clfield
integer(kind=ip_i4_p), public namuntmin
namcouple min IO unit value
character(len=8), dimension(:), allocatable cintmet
character *9, parameter clcal
character(len=8), dimension(:), allocatable cyordbf
integer(kind=ip_i4_p), public namtlogprt
namcouple ntlogprt value
integer(kind=ip_i4_p), public nnamcpl
number of namcouple inputs
real(kind=ip_realwp_p), dimension(:), pointer, public namscrvam
scrip gauss weight distance weighting for GAUSWGT
character(len=ic_lvar), dimension(:), pointer, public namdstgrd
dst grid name
integer(kind=ip_intwp_p), dimension(:), allocatable naismfl
character(len=5), parameter csurnam
character *9, parameter cljob
integer(kind=ip_intwp_p), dimension(:), allocatable nbins
character(len=ic_med) nmatxrd
character *9, parameter cldate
character(len=4), dimension(:), allocatable cga_locatorbf
integer(kind=ip_i4_p), dimension(:), pointer, public namfldseq
SEQ value.
character(len= *), parameter nmatxrd_default
integer(kind=ip_intwp_p), dimension(:), allocatable ig_reverse
character(len=4), parameter cmsksuf
character(len=4), parameter crnlonsuf
subroutine, public oasis_unitfree(uio)
Release a unit number for reuse.
integer(kind=ip_intwp_p) ig_nbr_rstfile
integer(kind=ip_i4_p), dimension(:), pointer, public namfldtrn
fields transform, ip_instant,...
real(kind=ip_realwp_p), dimension(:,:), allocatable abncoef
character(len=8), dimension(:), allocatable cgrdsub
character(len=5), parameter cmsknam
character(len=ic_med), public nammapdec
namcouple map decomp value
integer(kind=ip_intwp_p) ig_total_nfield
integer(kind=ip_intwp_p), dimension(:), allocatable nluext
character(len=ic_med), public nammatxrd
namcouple matrix read option
character(len=32), dimension(:), allocatable cg_name_rstfile
integer(kind=ip_intwp_p) nstep
character(len=8), dimension(:), allocatable corder
character *9, parameter clstring
character(len=8), dimension(:), allocatable cnorm_opt
character(len=8), dimension(:), allocatable cgrdtyp
integer(kind=ip_intwp_p) ig_nfield
character *9, parameter clchan
integer(kind=ip_intwp_p), dimension(:), allocatable notper
integer(kind=ip_intwp_p), parameter ip_expout
integer(kind=ip_intwp_p), dimension(:), allocatable naismvoi
integer(kind=ip_intwp_p), parameter ip_ignout
subroutine skip(cd_one, id_len, endflag, ios)
logical, dimension(:), allocatable lsurf
integer(kind=ip_i4_p), dimension(:), pointer, public namscrnbr
scrip number of neighbors for GAUSWGT and DISTWGT
integer(kind=ip_intwp_p), parameter ip_instant
character(len=ic_med), dimension(:), pointer, public nammaploc
mapping location (src or dst pes)
logical, dimension(:), allocatable linit
integer(kind=ip_i4_p) nulin
integer(kind=ip_i4_p), dimension(:), pointer, public namflddti
coupling period (secs)
integer(kind=ip_intwp_p), dimension(:), allocatable nextfl
character(len=4), parameter crnlatsuf
real(kind=ip_realwp_p), dimension(:), allocatable afldcobn
integer(kind=ip_intwp_p) nulprt1
integer(kind=ip_intwp_p), dimension(:), allocatable ig_total_ntrans
character *9, parameter clunit
integer(kind=ip_intwp_p), parameter ip_auxilary
integer(kind=ip_intwp_p), dimension(:,:), allocatable nludat
integer(kind=ip_intwp_p), dimension(:), allocatable ig_no_rstfile
character(len=8), dimension(:), allocatable cfldfin
character(len=jpeighty), dimension(:), pointer, public namdstfld
list of dst fields
character(len=ic_med), dimension(:), pointer, public namrstfil
restart file name
integer(kind=ip_intwp_p) niter
integer(kind=ip_intwp_p), dimension(:), allocatable ig_grid_nbrbf
integer(kind=ip_i4_p), public namlogprt
namcouple nlogprt value
integer(kind=ip_intwp_p) nuntmin
real(kind=ip_realwp_p), dimension(:), allocatable afldcoef
character *9, parameter clrest
integer(kind=ip_intwp_p), dimension(:), allocatable ncofld
character(len=4), parameter cglatsuf
character(len=8), dimension(:), allocatable cgrdmap
integer(kind=ip_i4_p), dimension(:), pointer, public namscrbin
script number of search bins
character *9, parameter clmatxrd
integer(kind=ip_i4_p), dimension(:), pointer, public namfldcon
conserv fld operation
integer(kind=ip_intwp_p), dimension(:), allocatable numlab
subroutine namcouple_abort(isubname, lineno, string1, string2, string3, string4)
Subroutine that calls abort in this module.
character(len= *), parameter cspval
character(len=8), dimension(:), allocatable cconopt
character *9, parameter clprint
character *9, parameter clmod
logical, dimension(:), allocatable lmapp
integer(kind=ip_intwp_p) ig_final_nfield
integer(kind=ip_intwp_p), dimension(:), allocatable niwtn
logical, dimension(:), allocatable lsubg
integer(kind=ip_intwp_p), dimension(:), allocatable ig_ntrans
integer(kind=ip_intwp_p), dimension(:), allocatable neighbor
integer(kind=ip_intwp_p) il_err
character(len=8), dimension(:), allocatable cextmet
Character string manipulation methods.
character(len=8), dimension(:), allocatable cfldcoa
integer(kind=ip_intwp_p), parameter ip_exported
character *9, parameter clmapdec
Provides a generic and simpler interface into MPI calls for OASIS.
integer(kind=ip_intwp_p), dimension(:), allocatable nmapvoi
real(kind=ip_realwp_p), dimension(:,:), allocatable abocoef
character(len=8), dimension(:), allocatable cfilmet
integer(kind=ip_intwp_p) nfcoast
integer(kind=ip_intwp_p), dimension(:), allocatable nscripvoi
character(len=8), dimension(:,:), allocatable ccofic
integer(kind=ip_intwp_p), parameter ip_cbasbal
integer(kind=ip_intwp_p), dimension(:), allocatable ig_number_field
character(len=ic_med), dimension(:), pointer, public namscrord
scrip conserve order (FIRST, SECOND)
real(kind=ip_realwp_p), dimension(:,:), allocatable acocoef
integer(kind=ip_i4_p), dimension(:), pointer, public namfldops
operation, ip_expout,...
integer(kind=ip_intwp_p), dimension(:), allocatable nlusub
subroutine, public oasis_namcouple_init()
Reads the namcouple.
integer(kind=ip_intwp_p), dimension(:), allocatable ig_total_state
subroutine inipar
Reads, sets, and prints the namcouple file.
character(len=4), parameter csursuf
character(len=4), parameter cangsuf
integer(kind=ip_i4_p), public namuntmax
namcouple max IO unit value
integer(kind=ip_intwp_p) ig_maxnfg
integer(kind=ip_intwp_p), dimension(:), allocatable nbofld
character(len=8), dimension(:), allocatable cfldtyp
character(len=8), dimension(:), allocatable cyordaf
subroutine prtout(cdtext, kvalue, kstyle)
Prints information passed by argument.
character(len=ic_lvar), dimension(:), pointer, public namsrcgrd
src grid name
real(kind=ip_realwp_p), dimension(:), allocatable amskval
real(kind=ip_realwp_p), dimension(:), pointer, public namflddad
dst additive term
logical, dimension(:), pointer, public namchecki
checkin flag
integer(kind=ip_intwp_p) nitfn
integer(kind=ip_i4_p), dimension(:), pointer, public namsrc_nx
src nx grid size
integer(kind=ip_i4_p) mpi_rank_global
integer(kind=ip_intwp_p), dimension(:), allocatable ig_local_trans
subroutine inipar_alloc()
Reads the namcouple to allocate arrays.
integer(kind=ip_intwp_p), dimension(:), allocatable nlonaf
integer(kind=ip_intwp_p), dimension(:), allocatable nlumap
character(len=ic_med), public namwgtopt
namcouple weights handling option
integer(kind=ip_intwp_p), parameter nkeywords
integer(kind=ip_intwp_p) ig_direct_nfield
integer(kind=ip_intwp_p), dimension(:), allocatable nlufil
character(len=ic_med), dimension(:), pointer, public nammapopt
mapping option (bfb, sum, or opt)
character(len=ic_med), dimension(:), pointer, public namscrtyp
scrip mapping type (SCALAR, VECTOR)
character(len=ic_med), dimension(:), pointer, public namscrres
scrip search restriction (LATLON, LATITUDE)
character(len=ic_med), dimension(:), pointer, public namscrmet
scrip method (CONSERV, DISTWGT, BILINEAR, BICUBIC, GAUSWGT)
character(len=8), dimension(:), allocatable ctypsub
real(kind=ip_realwp_p), dimension(:), pointer, public namflddmu
dst multipler term
subroutine alloc()
Allocates temporary arrays for namcouple input.
character(len=32), dimension(:), allocatable cg_input_file
integer(kind=ip_i4_p), dimension(:), pointer, public namsrc_ny
src ny grid size
integer(kind=ip_intwp_p), dimension(:), allocatable ig_numlab
character(len= *), parameter rform
formatted line read format
integer(kind=ip_intwp_p) ig_maxcomb
character(len=ic_med) nmapdec
integer(kind=ip_intwp_p), dimension(:), allocatable niwtg
integer(kind=ip_intwp_p), dimension(:), allocatable nninnflg
Defines parameters for OASIS.
integer(kind=ip_intwp_p), dimension(:), allocatable nsubvoi
character(len=8), dimension(:), allocatable cstate
integer(kind=ip_intwp_p), dimension(:), allocatable nlataf
character *9, dimension(nkeywords), parameter keyword_list
character(len=8), dimension(:), allocatable cxordbf
character(len=8), dimension(:), allocatable csper
subroutine findkeyword(keyword, line, found)
Searches for a particular keyword in the namcouple file.
character(len=ic_long), dimension(:), allocatable cmap_file
real(kind=ip_realwp_p), dimension(:), allocatable amskvalnew
character(len=8), dimension(:), allocatable cfilfic
integer(kind=ip_intwp_p), dimension(:), allocatable ig_invert
integer(kind=ip_i4_p), dimension(:), pointer, public namsort2nn
sorted namcpl for sort, define nn order, computed later
real(kind=ip_realwp_p), dimension(:), pointer, public namfldsad
src additive term
subroutine, public oasis_unitget(uio)
Get a free unit number.
character(len=8), dimension(:), allocatable cficaf
integer(kind=ip_intwp_p), parameter ip_cglobal
integer(kind=ip_i4_p), dimension(:), pointer, public namfldlag
coupling lag (secs)
character(len=jpeighty), dimension(:), allocatable cg_output_field
character(len=5), parameter crednam
integer(kind=ip_intwp_p), dimension(:), allocatable nninnfl
integer(kind=ip_intwp_p) nlucor
integer(kind=ip_intwp_p), dimension(:), allocatable ig_lag
character(len=8), dimension(:), allocatable cmaptyp
character *9, parameter clseq
character(len=5), parameter cgrdnam
character(len=ic_med), dimension(:), pointer, public naminpfil
input file name
character(len= *), parameter nwgtopt_default
character(len=8), dimension(:), allocatable cmskrd
logical, dimension(:), allocatable lextra
character(len= *), parameter cl_namcouple
integer(kind=ip_intwp_p), dimension(:), allocatable ig_total_nseqn
character(len=8), dimension(:), allocatable cmapopt
character(len=jpeighty), dimension(:), allocatable cg_input_field
character(len=8), dimension(:), allocatable crsttype
character *9, parameter clwgtopt
integer(kind=ip_intwp_p), parameter ip_input
subroutine, public oasis_flush(nu)
Flushes output to file.
integer(kind=ip_intwp_p), parameter ip_ignored
subroutine parse(cdone, cdtwo, knumb, klen, kleng, line)
Subroutine to parse string.
integer(kind=ip_intwp_p) ig_total_frqmin
character(len=8), dimension(:), allocatable ctper
integer(kind=ip_intwp_p), dimension(:), allocatable ig_grid_nbraf
character(len=ic_long), dimension(:), pointer, public nammapfil
mapping file name
integer(kind=ip_intwp_p), dimension(:), allocatable nosper
character(len=jpeighty), dimension(:), allocatable cnaminp
integer(kind=ip_i4_p), dimension(:), pointer, public namdst_nx
dst nx grid size
integer(kind=ip_intwp_p), dimension(:), allocatable nfexch
character(len=8), dimension(:,:), allocatable canal
character *9, parameter clend
integer(kind=ip_i4_p), dimension(:), pointer, public namnn2sort
sorted namcpl for nn, define sort number, computed later
character(len= *), parameter nmapdec_default
integer(kind=ip_intwp_p), dimension(:), allocatable nlatbf
integer(kind=ip_intwp_p) ntime
integer(kind=ip_intwp_p), dimension(:), allocatable niwtm
logical function checkcomment(line)
character(len=jpeighty), dimension(:), allocatable cnamout
character(len=8), dimension(:), allocatable cmap_method
character *9, parameter clhead
integer(kind=ip_intwp_p), dimension(:), allocatable nbnfld
integer(kind=ip_i4_p), public namruntim
namcouple runtime
integer(kind=ip_intwp_p), dimension(:), allocatable ntronca
integer(kind=ip_intwp_p), dimension(:), allocatable nmapfl
integer(kind=ip_intwp_p) ntlogprt
character(len=4), parameter cglonsuf
character(len=8), dimension(:), allocatable cficbf
integer(kind=ip_intwp_p) nuntmax
character(len=8), dimension(:,:), allocatable cbofld
character *9, parameter cltime
integer(kind=ip_i4_p), dimension(:), pointer, public namdst_ny
dst ny grid size
character(len=8), dimension(:), allocatable cfldtype
character(len=32), dimension(:), allocatable cficinp
integer(kind=ip_intwp_p), dimension(:), allocatable ig_freq
Reads the namcouple file for use in OASIS.
logical, dimension(:), pointer, public namchecko
checkout flag
integer(kind=ip_intwp_p), dimension(:), allocatable naisgfl
integer(kind=ip_intwp_p), dimension(:), allocatable naisgvoi
logical, dimension(:), allocatable lg_state
logical, public namnorest
namcouple allow no restarts
character(len=32), dimension(:), allocatable cg_restart_file
integer(kind=ip_intwp_p), dimension(:), allocatable nlonbf
integer(kind=ip_intwp_p) ig_maxnoa
character(len=8), dimension(:,:), allocatable ccofld
integer(kind=ip_intwp_p), parameter ip_cbaspos
integer(kind=ip_intwp_p), dimension(:), allocatable niwtng
integer(kind=ip_intwp_p), parameter ip_cnone
character(len=8), dimension(:), allocatable cconmet
character(len=ic_med), dimension(:), pointer, public namscrnor
scrip conserv normalization (FRACAREA, DESTAREA, FRACNNEI)
character(len=8), dimension(:), allocatable cgrdext
character(len=ic_med) nwgtopt