3047
3048
3050
3051
3052
3053 logical, intent(in) :: ldef, VarOut(NV,Ngrids)
3054
3055 integer, intent(in) :: ng, model
3056 integer, intent(in), optional :: t2dgrd(:), u2dgrd(:), v2dgrd(:)
3057
3058 TYPE(T_IO), intent(inout) :: S(Ngrids)
3059
3060
3061
3062 logical :: got_var(NV)
3063
3064 integer, parameter :: Natt = 25
3065
3066 integer :: i, j, nvd3, nvd4, status
3067
3068 real(r8) :: Aval(6)
3069
3070# ifdef ADJOINT
3071 character (len=21) :: Prefix
3072# else
3073 character (len=13) :: Prefix
3074# endif
3075 character (len=120) :: Vinfo(Natt)
3076 character (len=256) :: ncname
3077
3078 character (len=*), parameter :: MyFile = &
3079 & __FILE__//", bbl_def_pio"
3080
3081 sourcefile=myfile
3082
3083
3084
3085
3086
3087 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3088 ncname=s(ng)%name
3089
3090 define : IF (ldef) THEN
3091
3092
3093
3094# if defined WRITE_WATER && defined MASKING
3095 nvd3=2
3096 nvd4=2
3097# else
3098 nvd3=3
3099 nvd4=4
3100# endif
3101
3102
3103
3104# ifdef ADJOINT
3105
3106 prefix='adjoint'
3107# else
3108
3109 prefix=char(32)
3110# endif
3111
3112
3113
3114 DO i=1,natt
3115 DO j=1,len(vinfo(1))
3116 vinfo(i)(j:j)=' '
3117 END DO
3118 END DO
3119 DO i=1,6
3120 aval(i)=0.0_r8
3121 END DO
3122
3123# if defined BBL_MODEL || defined SED_BEDLOAD_VANDERA || \
3124 defined wav_coupling
3125
3126
3127
3128 IF (varout(idworb,ng)) THEN
3129 vinfo( 1)=vname(1,idworb)
3130 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3131 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idworb))
3132 ELSE
3133 vinfo( 2)=vname(2,idworb)
3134 END IF
3135 vinfo( 3)=vname(3,idworb)
3136 vinfo(14)=vname(4,idworb)
3137 vinfo(16)=vname(1,idtime)
3138# if defined WRITE_WATER && defined MASKING
3139 vinfo(20)='mask_rho'
3140# endif
3141 vinfo(21)=vname(6,idworb)
3142 vinfo(22)='coordinates'
3143 aval(5)=real(iinfo(1,idworb,ng),r8)
3144 s(ng)%pioVar(idworb)%dkind=
pio_fout
3145 s(ng)%pioVar(idworb)%gtype=r2dvar
3146
3147 status=def_var(ng, model, s(ng)%pioFile, &
3148 & s(ng)%pioVar(idworb)%vd, &
3149 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3150 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3151 END IF
3152# endif
3153
3154# ifdef BBL_MODEL
3155
3156
3157
3158 IF (varout(idubrs,ng)) THEN
3159 vinfo( 1)=vname(1,idubrs)
3160 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3161 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idubrs))
3162 ELSE
3163 vinfo( 2)=vname(2,idubrs)
3164 END IF
3165 vinfo( 3)=vname(3,idubrs)
3166 vinfo(14)=vname(4,idubrs)
3167 vinfo(16)=vname(1,idtime)
3168# if defined WRITE_WATER && defined MASKING
3169 vinfo(20)='mask_rho'
3170# endif
3171 vinfo(21)=vname(6,idubrs)
3172 vinfo(22)='coordinates'
3173 aval(5)=real(iinfo(1,idubrs,ng),r8)
3174 s(ng)%pioVar(idubrs)%dkind=
pio_fout
3175 s(ng)%pioVar(idubrs)%gtype=r2dvar
3176
3177 status=def_var(ng, model, s(ng)%pioFile, &
3178 & s(ng)%pioVar(idubrs)%vd, &
3179 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3180 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3181 END IF
3182
3183
3184
3185 IF (varout(idvbrs,ng)) THEN
3186 vinfo( 1)=vname(1,idvbrs)
3187 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3188 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idvbrs))
3189 ELSE
3190 vinfo( 2)=vname(2,idvbrs)
3191 END IF
3192 vinfo( 3)=vname(3,idvbrs)
3193 vinfo(14)=vname(4,idvbrs)
3194 vinfo(16)=vname(1,idtime)
3195# if defined WRITE_WATER && defined MASKING
3196 vinfo(20)='mask_rho'
3197# endif
3198 vinfo(21)=vname(6,idvbrs)
3199 vinfo(22)='coordinates'
3200 aval(5)=real(iinfo(1,idvbrs,ng),r8)
3201 s(ng)%pioVar(idvbrs)%dkind=
pio_fout
3202 s(ng)%pioVar(idvbrs)%gtype=r2dvar
3203
3204 status=def_var(ng, model, s(ng)%pioFile, &
3205 & s(ng)%pioVar(idvbrs)%vd, &
3206 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3207 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3208 END IF
3209
3210
3211
3212 IF (varout(idubws,ng)) THEN
3213 vinfo( 1)=vname(1,idubws)
3214 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3215 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idubws))
3216 ELSE
3217 vinfo( 2)=vname(2,idubws)
3218 END IF
3219 vinfo( 3)=vname(3,idubws)
3220 vinfo(14)=vname(4,idubws)
3221 vinfo(16)=vname(1,idtime)
3222# if defined WRITE_WATER && defined MASKING
3223 vinfo(20)='mask_rho'
3224# endif
3225 vinfo(21)=vname(6,idubws)
3226 vinfo(22)='coordinates'
3227 aval(5)=real(iinfo(1,idubws,ng),r8)
3228 s(ng)%pioVar(idubws)%dkind=
pio_fout
3229 s(ng)%pioVar(idubws)%gtype=r2dvar
3230
3231 status=def_var(ng, model, s(ng)%pioFile, &
3232 & s(ng)%pioVar(idubws)%vd, &
3233 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3234 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3235 END IF
3236
3237
3238
3239 IF (varout(idvbws,ng)) THEN
3240 vinfo( 1)=vname(1,idvbws)
3241 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3242 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idvbws))
3243 ELSE
3244 vinfo( 2)=vname(2,idvbws)
3245 END IF
3246 vinfo( 3)=vname(3,idvbws)
3247 vinfo(14)=vname(4,idvbws)
3248 vinfo(16)=vname(1,idtime)
3249# if defined WRITE_WATER && defined MASKING
3250 vinfo(20)='mask_rho'
3251# endif
3252 vinfo(21)=vname(6,idvbws)
3253 vinfo(22)='coordinates'
3254 aval(5)=real(iinfo(1,idvbws,ng),r8)
3255 s(ng)%pioVar(idvbws)%dkind=
pio_fout
3256 s(ng)%pioVar(idvbws)%gtype=r2dvar
3257
3258 status=def_var(ng, model, s(ng)%pioFile, &
3259 & s(ng)%pioVar(idvbws)%vd, &
3260 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3261 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3262 END IF
3263
3264
3265
3266 IF (varout(idubcs,ng)) THEN
3267 vinfo( 1)=vname(1,idubcs)
3268 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3269 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idubcs))
3270 ELSE
3271 vinfo( 2)=vname(2,idubcs)
3272 END IF
3273 vinfo( 3)=vname(3,idubcs)
3274 vinfo(14)=vname(4,idubcs)
3275 vinfo(16)=vname(1,idtime)
3276# if defined WRITE_WATER && defined MASKING
3277 vinfo(20)='mask_rho'
3278# endif
3279 vinfo(21)=vname(6,idubcs)
3280 vinfo(22)='coordinates'
3281 aval(5)=real(iinfo(1,idubcs,ng),r8)
3282 s(ng)%pioVar(idubcs)%dkind=
pio_fout
3283 s(ng)%pioVar(idubcs)%gtype=r2dvar
3284
3285 status=def_var(ng, model, s(ng)%pioFile, &
3286 & s(ng)%pioVar(idubcs)%vd, &
3287 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3288 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3289 END IF
3290
3291
3292
3293 IF (varout(idvbcs,ng)) THEN
3294 vinfo( 1)=vname(1,idvbcs)
3295 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3296 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idvbcs))
3297 ELSE
3298 vinfo( 2)=vname(2,idvbcs)
3299 END IF
3300 vinfo( 3)=vname(3,idvbcs)
3301 vinfo(14)=vname(4,idvbcs)
3302 vinfo(16)=vname(1,idtime)
3303# if defined WRITE_WATER && defined MASKING
3304 vinfo(20)='mask_rho'
3305# endif
3306 vinfo(21)=vname(6,idvbcs)
3307 vinfo(22)='coordinates'
3308 aval(5)=real(iinfo(1,idvbcs,ng),r8)
3309 s(ng)%pioVar(idvbcs)%dkind=
pio_fout
3310 s(ng)%pioVar(idvbcs)%gtype=r2dvar
3311
3312 status=def_var(ng, model, s(ng)%pioFile, &
3313 & s(ng)%pioVar(idvbcs)%vd, &
3314 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3315 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3316 END IF
3317
3318
3319
3320 IF (varout(iduvwc,ng)) THEN
3321 vinfo( 1)=vname(1,iduvwc)
3322 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3323 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,iduvwc))
3324 ELSE
3325 vinfo( 2)=vname(2,iduvwc)
3326 END IF
3327 vinfo( 3)=vname(3,iduvwc)
3328 vinfo(14)=vname(4,iduvwc)
3329 vinfo(16)=vname(1,idtime)
3330# if defined WRITE_WATER && defined MASKING
3331 vinfo(20)='mask_rho'
3332# endif
3333 vinfo(21)=vname(6,iduvwc)
3334 vinfo(22)='coordinates'
3335 aval(5)=real(iinfo(1,iduvwc,ng),r8)
3336 s(ng)%pioVar(iduvwc)%dkind=
pio_fout
3337 s(ng)%pioVar(iduvwc)%gtype=r2dvar
3338
3339 status=def_var(ng, model, s(ng)%pioFile, &
3340 & s(ng)%pioVar(iduvwc)%vd, &
3341 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3342 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3343 END IF
3344
3345
3346
3347 IF (varout(idubot,ng)) THEN
3348 vinfo( 1)=vname(1,idubot)
3349 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3350 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idubot))
3351 ELSE
3352 vinfo( 2)=vname(2,idubot)
3353 END IF
3354 vinfo( 3)=vname(3,idubot)
3355 vinfo(14)=vname(4,idubot)
3356 vinfo(16)=vname(1,idtime)
3357# if defined WRITE_WATER && defined MASKING
3358 vinfo(20)='mask_rho'
3359# endif
3360 vinfo(21)=vname(6,idubot)
3361 vinfo(22)='coordinates'
3362 aval(5)=real(iinfo(1,idubot,ng),r8)
3363 s(ng)%pioVar(idubot)%dkind=
pio_fout
3364 s(ng)%pioVar(idubot)%gtype=r2dvar
3365
3366 status=def_var(ng, model, s(ng)%pioFile, &
3367 & s(ng)%pioVar(idubot)%vd, &
3368 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3369 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3370 END IF
3371
3372
3373
3374 IF (varout(idvbot,ng)) THEN
3375 vinfo( 1)=vname(1,idvbot)
3376 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3377 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idvbot))
3378 ELSE
3379 vinfo( 2)=vname(2,idvbot)
3380 END IF
3381 vinfo( 3)=vname(3,idvbot)
3382 vinfo(14)=vname(4,idvbot)
3383 vinfo(16)=vname(1,idtime)
3384# if defined WRITE_WATER && defined MASKING
3385 vinfo(20)='mask_rho'
3386# endif
3387 vinfo(21)=vname(6,idvbot)
3388 vinfo(22)='coordinates'
3389 aval(5)=real(iinfo(1,idvbot,ng),r8)
3390 s(ng)%pioVar(idvbot)%dkind=
pio_fout
3391 s(ng)%pioVar(idvbot)%gtype=r2dvar
3392
3393 status=def_var(ng, model, s(ng)%pioFile, &
3394 & s(ng)%pioVar(idvbot)%vd, &
3395 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3396 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3397 END IF
3398
3399
3400
3401 IF (varout(idubur,ng)) THEN
3402 vinfo( 1)=vname(1,idubur)
3403 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3404 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idubur))
3405 ELSE
3406 vinfo( 2)=vname(2,idubur)
3407 END IF
3408 vinfo( 3)=vname(3,idubur)
3409 vinfo(14)=vname(4,idubur)
3410 vinfo(16)=vname(1,idtime)
3411# if defined WRITE_WATER && defined MASKING
3412 vinfo(20)='mask_rho'
3413# endif
3414 vinfo(21)=vname(6,idubur)
3415 vinfo(22)='coordinates'
3416 aval(5)=real(iinfo(1,idubur,ng),r8)
3417 s(ng)%pioVar(idubur)%dkind=
pio_fout
3418 s(ng)%pioVar(idubur)%gtype=r2dvar
3419
3420 status=def_var(ng, model, s(ng)%pioFile, &
3421 & s(ng)%pioVar(idubur)%vd, &
3422 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3423 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3424 END IF
3425
3426
3427
3428 IF (varout(idvbvr,ng)) THEN
3429 vinfo( 1)=vname(1,idvbvr)
3430 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3431 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idvbvr))
3432 ELSE
3433 vinfo( 2)=vname(2,idvbvr)
3434 END IF
3435 vinfo( 3)=vname(3,idvbvr)
3436 vinfo(14)=vname(4,idvbvr)
3437 vinfo(16)=vname(1,idtime)
3438# if defined WRITE_WATER && defined MASKING
3439 vinfo(20)='mask_rho'
3440# endif
3441 vinfo(21)=vname(6,idvbvr)
3442 vinfo(22)='coordinates'
3443 aval(5)=real(iinfo(1,idvbvr,ng),r8)
3444 s(ng)%pioVar(idvbvr)%dkind=
pio_fout
3445 s(ng)%pioVar(idvbvr)%gtype=r2dvar
3446
3447 status=def_var(ng, model, s(ng)%pioFile, &
3448 & s(ng)%pioVar(idvbvr)%vd, &
3449 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3450 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3451 END IF
3452# endif
3453
3454# if defined UV_KIRBY && defined AVERAGES
3455
3456
3457
3458 IF (varout(iduwav,ng)) THEN
3459 vinfo( 1)=vname(1,iduwav)
3460 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,iduwav))
3461 vinfo( 3)=vname(3,iduwav)
3462 vinfo(14)=vname(4,iduwav)
3463 vinfo(16)=vname(1,idtime)
3464# if defined WRITE_WATER && defined MASKING
3465 vinfo(20)='mask_rho'
3466# endif
3467 vinfo(21)=vname(6,iduwav)
3468 vinfo(22)='coordinates'
3469 aval(5)=real(iinfo(1,iduwav,ng),r8)
3470 avg(ng)%pioVar(iduwav)%dkind=
pio_fout
3471 avg(ng)%pioVar(iduwav)%gtype=r2dvar
3472
3473 status=def_var(ng, model, s(ng)%pioFile, &
3474 & s(ng)%pioVar(iduwav)%vd, &
3475 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3476 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3477 END IF
3478
3479
3480
3481 IF (varout(idvwav,ng)) THEN
3482 vinfo( 1)=vname(1,idvwav)
3483 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idvwav))
3484 vinfo( 3)=vname(3,idvwav)
3485 vinfo(14)=vname(4,idvwav)
3486 vinfo(16)=vname(1,idtime)
3487# if defined WRITE_WATER && defined MASKING
3488 vinfo(20)='mask_rho'
3489# endif
3490 vinfo(21)=vname(6,idvwav)
3491 vinfo(22)='coordinates'
3492 aval(5)=real(iinfo(1,idvwav,ng),r8)
3493 avg(ng)%pioVar(idvwav)%dkind=
pio_fout
3494 avg(ng)%pioVar(idvwav)%gtype=r2dvar
3495
3496 status=def_var(ng, model, s(ng)%pioFile, &
3497 & s(ng)%pioVar(idvwav)%vd, &
3498 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3499 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3500 END IF
3501# endif
3502
3503# ifdef WAVES_HEIGHT
3504
3505
3506
3507 IF (varout(idwamp,ng)) THEN
3508 vinfo( 1)=vname(1,idwamp)
3509 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3510 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idwamp))
3511 ELSE
3512 vinfo( 2)=vname(2,idwamp)
3513 END IF
3514 vinfo( 3)=vname(3,idwamp)
3515 vinfo(14)=vname(4,idwamp)
3516 vinfo(16)=vname(1,idtime)
3517# if defined WRITE_WATER && defined MASKING
3518 vinfo(20)='mask_rho'
3519# endif
3520 vinfo(21)=vname(6,idwamp)
3521 vinfo(22)='coordinates'
3522 aval(5)=real(iinfo(1,idwamp,ng),r8)
3523 s(ng)%pioVar(idwamp)%dkind=
pio_fout
3524 s(ng)%pioVar(idwamp)%gtype=r2dvar
3525
3526 status=def_var(ng, model, s(ng)%pioFile, &
3527 & s(ng)%pioVar(idwamp)%vd, &
3528 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3529 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3530 END IF
3531
3532# ifdef AVERAGES
3533
3534
3535
3536 IF (varout(idwam2,ng)) THEN
3537 vinfo( 1)=vname(1,idwam2)
3538 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idwam2))
3539 vinfo( 3)=vname(3,idwam2)
3540 vinfo(14)=vname(4,idwam2)
3541 vinfo(16)=vname(1,idtime)
3542# if defined WRITE_WATER && defined MASKING
3543 vinfo(20)='mask_rho'
3544# endif
3545 vinfo(21)=vname(6,idwam2)
3546 vinfo(22)='coordinates'
3547 aval(5)=real(iinfo(1,idwam2,ng),r8)
3548 avg(ng)%pioVar(idwam2)%dkind=
pio_fout
3549 avg(ng)%pioVar(idwam2)%gtype=r2dvar
3550
3551 status=def_var(ng, model, s(ng)%pioFile, &
3552 & s(ng)%pioVar(idwam2)%vd, &
3553 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3554 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3555 END IF
3556# endif
3557# endif
3558
3559# ifdef WAVES_LENGTH
3560
3561
3562
3563 IF (varout(idwlen,ng)) THEN
3564 vinfo( 1)=vname(1,idwlen)
3565 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3566 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idwlen))
3567 ELSE
3568 vinfo( 2)=vname(2,idwlen)
3569 END IF
3570 vinfo( 3)=vname(3,idwlen)
3571 vinfo(14)=vname(4,idwlen)
3572 vinfo(16)=vname(1,idtime)
3573# if defined WRITE_WATER && defined MASKING
3574 vinfo(20)='mask_rho'
3575# endif
3576 vinfo(21)=vname(6,idwlen)
3577 vinfo(22)='coordinates'
3578 aval(5)=real(iinfo(1,idwlen,ng),r8)
3579 s(ng)%pioVar(idwlen)%dkind=
pio_fout
3580 s(ng)%pioVar(idwlen)%gtype=r2dvar
3581
3582 status=def_var(ng, model, s(ng)%pioFile, &
3583 & s(ng)%pioVar(idwlen)%vd, &
3584 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3585 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3586 END IF
3587# endif
3588
3589# ifdef WAVES_LENGTHP
3590
3591
3592
3593 IF (varout(idwlep,ng)) THEN
3594 vinfo( 1)=vname(1,idwlep)
3595 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3596 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idwlep))
3597 ELSE
3598 vinfo( 2)=vname(2,idwlep)
3599 END IF
3600 vinfo( 3)=vname(3,idwlep)
3601 vinfo(14)=vname(4,idwlep)
3602 vinfo(16)=vname(1,idtime)
3603# if defined WRITE_WATER && defined MASKING
3604 vinfo(20)='mask_rho'
3605# endif
3606 vinfo(21)=vname(6,idwlep)
3607 vinfo(22)='coordinates'
3608 aval(5)=real(iinfo(1,idwlep,ng),r8)
3609 s(ng)%pioVar(idwlep)%dkind=
pio_fout
3610 s(ng)%pioVar(idwlep)%gtype=r2dvar
3611
3612 status=def_var(ng, model, s(ng)%pioFile, &
3613 & s(ng)%pioVar(idwlep)%vd, &
3614 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3615 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3616 END IF
3617# endif
3618
3619# ifdef WAVES_DIR
3620
3621
3622
3623 IF (varout(idwdir,ng)) THEN
3624 vinfo( 1)=vname(1,idwdir)
3625 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3626 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idwdir))
3627 ELSE
3628 vinfo( 2)=vname(2,idwdir)
3629 END IF
3630 vinfo( 3)=vname(3,idwdir)
3631 vinfo(14)=vname(4,idwdir)
3632 vinfo(16)=vname(1,idtime)
3633# if defined WRITE_WATER && defined MASKING
3634 vinfo(20)='mask_rho'
3635# endif
3636 vinfo(21)=vname(6,idwdir)
3637 vinfo(22)='coordinates'
3638 aval(5)=real(iinfo(1,idwdir,ng),r8)
3639 s(ng)%pioVar(idwdir)%dkind=
pio_fout
3640 s(ng)%pioVar(idwdir)%gtype=r2dvar
3641
3642 status=def_var(ng, model, s(ng)%pioFile, &
3643 & s(ng)%pioVar(idwdir)%vd, &
3644 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3645 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3646 END IF
3647# endif
3648
3649# ifdef WAVES_DIRP
3650
3651
3652
3653 IF (varout(idwdip,ng)) THEN
3654 vinfo( 1)=vname(1,idwdip)
3655 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3656 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idwdip))
3657 ELSE
3658 vinfo( 2)=vname(2,idwdip)
3659 END IF
3660 vinfo( 3)=vname(3,idwdip)
3661 vinfo(14)=vname(4,idwdip)
3662 vinfo(16)=vname(1,idtime)
3663# if defined WRITE_WATER && defined MASKING
3664 vinfo(20)='mask_rho'
3665# endif
3666 vinfo(21)=vname(6,idwdip)
3667 vinfo(22)='coordinates'
3668 aval(5)=real(iinfo(1,idwdip,ng),r8)
3669 s(ng)%pioVar(idwdip)%dkind=
pio_fout
3670 s(ng)%pioVar(idwdip)%gtype=r2dvar
3671
3672 status=def_var(ng, model, s(ng)%pioFile, &
3673 & s(ng)%pioVar(idwdip)%vd, &
3674 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3675 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3676 END IF
3677# endif
3678
3679# ifdef WAVES_TOP_PERIOD
3680
3681
3682
3683 IF (varout(idwptp,ng)) THEN
3684 vinfo( 1)=vname(1,idwptp)
3685 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3686 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idwptp))
3687 ELSE
3688 vinfo( 2)=vname(2,idwptp)
3689 END IF
3690 vinfo( 3)=vname(3,idwptp)
3691 vinfo(14)=vname(4,idwptp)
3692 vinfo(16)=vname(1,idtime)
3693# if defined WRITE_WATER && defined MASKING
3694 vinfo(20)='mask_rho'
3695# endif
3696 vinfo(21)=vname(6,idwptp)
3697 vinfo(22)='coordinates'
3698 aval(5)=real(iinfo(1,idwptp,ng),r8)
3699 s(ng)%pioVar(idwptp)%dkind=
pio_fout
3700 s(ng)%pioVar(idwptp)%gtype=r2dvar
3701
3702 status=def_var(ng, model, s(ng)%pioFile, &
3703 & s(ng)%pioVar(idwptp)%vd, &
3704 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3705 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3706 END IF
3707# endif
3708
3709# ifdef WAVES_BOT_PERIOD
3710
3711
3712
3713 IF (varout(idwpbt,ng)) THEN
3714 vinfo( 1)=vname(1,idwpbt)
3715 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3716 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idwpbt))
3717 ELSE
3718 vinfo( 2)=vname(2,idwpbt)
3719 END IF
3720 vinfo( 3)=vname(3,idwpbt)
3721 vinfo(14)=vname(4,idwpbt)
3722 vinfo(16)=vname(1,idtime)
3723# if defined WRITE_WATER && defined MASKING
3724 vinfo(20)='mask_rho'
3725# endif
3726 vinfo(21)=vname(6,idwpbt)
3727 vinfo(22)='coordinates'
3728 aval(5)=real(iinfo(1,idwpbt,ng),r8)
3729 s(ng)%pioVar(idwpbt)%dkind=
pio_fout
3730 s(ng)%pioVar(idwpbt)%gtype=r2dvar
3731
3732 status=def_var(ng, model, s(ng)%pioFile, &
3733 & s(ng)%pioVar(idwpbt)%vd, &
3734 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3735 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3736 END IF
3737
3738# endif
3739
3740# ifdef WAVES_DSPR
3741
3742
3743
3744 IF (varout(idwvds,ng)) THEN
3745 vinfo( 1)=vname(1,idwvds)
3746 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3747 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idwvds))
3748 ELSE
3749 vinfo( 2)=vname(2,idwvds)
3750 END IF
3751 vinfo( 3)=vname(3,idwvds)
3752 vinfo(14)=vname(4,idwvds)
3753 vinfo(16)=vname(1,idtime)
3754# if defined WRITE_WATER && defined MASKING
3755 vinfo(20)='mask_rho'
3756# endif
3757 vinfo(21)=vname(6,idwvds)
3758 vinfo(22)='coordinates'
3759 aval(5)=real(iinfo(1,idwvds,ng),r8)
3760 s(ng)%pioVar(idwvds)%dkind=
pio_fout
3761 s(ng)%pioVar(idwvds)%gtype=r2dvar
3762
3763 status=def_var(ng, model, s(ng)%pioFile, &
3764 & s(ng)%pioVar(idwvds)%vd, &
3765 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3766 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3767 END IF
3768
3769
3770
3771 IF (varout(idwvqp,ng)) THEN
3772 vinfo( 1)=vname(1,idwvqp)
3773 IF (s(ng)%ncid.eq.avg(ng)%ncid) THEN
3774 WRITE (vinfo( 2),'(a,1x,a)') prefix, trim(vname(2,idwvqp))
3775 ELSE
3776 vinfo( 2)=vname(2,idwvqp)
3777 END IF
3778 vinfo( 3)=vname(3,idwvqp)
3779 vinfo(14)=vname(4,idwvqp)
3780 vinfo(16)=vname(1,idtime)
3781# if defined WRITE_WATER && defined MASKING
3782 vinfo(20)='mask_rho'
3783# endif
3784 vinfo(21)=vname(6,idwvqp)
3785 vinfo(22)='coordinates'
3786 aval(5)=real(iinfo(1,idwvqp,ng),r8)
3787 s(ng)%pioVar(idwvqp)%dkind=
pio_fout
3788 s(ng)%pioVar(idwvqp)%gtype=r2dvar
3789
3790 status=def_var(ng, model, s(ng)%pioFile, &
3791 & s(ng)%pioVar(idwvqp)%vd, &
3792 &
pio_fout, nvd3, t2dgrd, aval, vinfo, ncname)
3793 IF (founderror(exit_flag, noerror, __line__, myfile)) RETURN
3794 END IF
3795# endif
3796
3797 END IF define
3798
3799
3800
3801
3802
3803
3804 query : IF (.not.ldef) THEN
3805
3806
3807
3808 DO i=1,nv
3809 got_var(i)=.false.
3810 END DO
3811
3812
3813
3814
3815 DO i=1,n_var
3816 IF (trim(var_name(i)).eq.trim(vname(1,idtime))) THEN
3817 got_var(idtime)=.true.
3818 s(ng)%pioVar(idtime)%vd=
var_desc(i)
3819 s(ng)%pioVar(idtime)%dkind=
pio_tout
3820 s(ng)%pioVar(idtime)%gtype=0
3821# if defined BBL_MODEL || defined SED_BEDLOAD_VANDERA || \
3822 defined wav_coupling
3823 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idworb))) THEN
3824 got_var(idworb)=.true.
3825 s(ng)%pioVar(idworb)%vd=
var_desc(i)
3826 s(ng)%pioVar(idworb)%dkind=
pio_fout
3827 s(ng)%pioVar(idworb)%gtype=r2dvar
3828# endif
3829# ifdef BBL_MODEL
3830 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idubrs))) THEN
3831 got_var(idubrs)=.true.
3832 s(ng)%pioVar(idubrs)%vd=
var_desc(i)
3833 s(ng)%pioVar(idubrs)%dkind=
pio_fout
3834 s(ng)%pioVar(idubrs)%gtype=r2dvar
3835 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idvbrs))) THEN
3836 got_var(idvbrs)=.true.
3837 s(ng)%pioVar(idvbrs)%vd=
var_desc(i)
3838 s(ng)%pioVar(idvbrs)%dkind=
pio_fout
3839 s(ng)%pioVar(idvbrs)%gtype=r2dvar
3840 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idubws))) THEN
3841 got_var(idubws)=.true.
3842 s(ng)%pioVar(idubws)%vd=
var_desc(i)
3843 s(ng)%pioVar(idubws)%dkind=
pio_fout
3844 s(ng)%pioVar(idubws)%gtype=r2dvar
3845 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idvbws))) THEN
3846 got_var(idvbws)=.true.
3847 s(ng)%pioVar(idvbws)%vd=
var_desc(i)
3848 s(ng)%pioVar(idvbws)%dkind=
pio_fout
3849 s(ng)%pioVar(idvbws)%gtype=r2dvar
3850 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idubcs))) THEN
3851 got_var(idubcs)=.true.
3852 s(ng)%pioVar(idubcs)%vd=
var_desc(i)
3853 s(ng)%pioVar(idubcs)%dkind=
pio_fout
3854 s(ng)%pioVar(idubcs)%gtype=r2dvar
3855 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idvbcs))) THEN
3856 got_var(idvbcs)=.true.
3857 s(ng)%pioVar(idvbcs)%vd=
var_desc(i)
3858 s(ng)%pioVar(idvbcs)%dkind=
pio_fout
3859 s(ng)%pioVar(idvbcs)%gtype=r2dvar
3860 ELSE IF (trim(var_name(i)).eq.trim(vname(1,iduvwc))) THEN
3861 got_var(iduvwc)=.true.
3862 s(ng)%pioVar(iduvwc)%vd=
var_desc(i)
3863 s(ng)%pioVar(iduvwc)%dkind=
pio_fout
3864 s(ng)%pioVar(iduvwc)%gtype=r2dvar
3865 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idubot))) THEN
3866 got_var(idubot)=.true.
3867 s(ng)%pioVar(idubot)%vd=
var_desc(i)
3868 s(ng)%pioVar(idubot)%dkind=
pio_fout
3869 s(ng)%pioVar(idubot)%gtype=r2dvar
3870 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idvbot))) THEN
3871 got_var(idvbot)=.true.
3872 s(ng)%pioVar(idvbot)%vd=
var_desc(i)
3873 s(ng)%pioVar(idvbot)%dkind=
pio_fout
3874 s(ng)%pioVar(idvbot)%gtype=r2dvar
3875 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idubur))) THEN
3876 got_var(idubur)=.true.
3877 s(ng)%pioVar(idubur)%vd=
var_desc(i)
3878 s(ng)%pioVar(idubur)%dkind=
pio_fout
3879 s(ng)%pioVar(idubur)%gtype=r2dvar
3880 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idvbvr))) THEN
3881 got_var(idvbvr)=.true.
3882 s(ng)%pioVar(idvbvr)%vd=
var_desc(i)
3883 s(ng)%pioVar(idvbvr)%dkind=
pio_fout
3884 s(ng)%pioVar(idvbvr)%gtype=r2dvar
3885# endif
3886# if defined UV_KIRBY && defined AVERAGES
3887 ELSE IF (trim(var_name(i)).eq.trim(vname(1,iduwav))) THEN
3888 got_var(iduwav)=.true.
3889 s(ng)%pioVar(iduwav)%vd=
var_desc(i)
3890 s(ng)%pioVar(iduwav)%dkind=
pio_fout
3891 s(ng)%pioVar(iduwav)%gtype=r2dvar
3892 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idvwav))) THEN
3893 got_var(idvwav)=.true.
3894 s(ng)%pioVar(idvwav)%vd=
var_desc(i)
3895 s(ng)%pioVar(idvwav)%dkind=
pio_fout
3896 s(ng)%pioVar(idvwav)%gtype=r2dvar
3897# endif
3898# ifdef WAVES_HEIGHT
3899 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idwamp))) THEN
3900 got_var(idwamp)=.true.
3901 s(ng)%pioVar(idwamp)%vd=
var_desc(i)
3902 s(ng)%pioVar(idwamp)%dkind=
pio_fout
3903 s(ng)%pioVar(idwamp)%gtype=r2dvar
3904# ifdef AVERAGES
3905 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idwam2))) THEN
3906 got_var(idwam2)=.true.
3907 avg(ng)%pioVar(idwam2)%vd=
var_desc(i)
3908 avg(ng)%pioVar(idwam2)%dkind=
pio_fout
3909 avg(ng)%pioVar(idwam2)%gtype=r2dvar
3910# endif
3911# endif
3912# ifdef WAVES_LENGTH
3913 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idwlen))) THEN
3914 got_var(idwlen)=.true.
3915 s(ng)%pioVar(idwlen)%vd=
var_desc(i)
3916 s(ng)%pioVar(idwlen)%dkind=
pio_fout
3917 s(ng)%pioVar(idwlen)%gtype=r2dvar
3918# endif
3919# ifdef WAVES_LENGTHP
3920 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idwlep))) THEN
3921 got_var(idwlep)=.true.
3922 s(ng)%pioVar(idwlep)%vd=
var_desc(i)
3923 s(ng)%pioVar(idwlep)%dkind=
pio_fout
3924 s(ng)%pioVar(idwlep)%gtype=r2dvar
3925# endif
3926# ifdef WAVES_DIR
3927 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idwdir))) THEN
3928 got_var(idwdir)=.true.
3929 s(ng)%pioVar(idwdir)%vd=
var_desc(i)
3930 s(ng)%pioVar(idwdir)%dkind=
pio_fout
3931 s(ng)%pioVar(idwdir)%gtype=r2dvar
3932# endif
3933# ifdef WAVES_DIRP
3934 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idwdip))) THEN
3935 got_var(idwdip)=.true.
3936 s(ng)%pioVar(idwdip)%vd=
var_desc(i)
3937 s(ng)%pioVar(idwdip)%dkind=
pio_fout
3938 s(ng)%pioVar(idwdip)%gtype=r2dvar
3939# endif
3940# ifdef WAVES_TOP_PERIOD
3941 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idwptp))) THEN
3942 got_var(idwptp)=.true.
3943 s(ng)%pioVar(idwptp)%vd=
var_desc(i)
3944 s(ng)%pioVar(idwptp)%dkind=
pio_fout
3945 s(ng)%pioVar(idwptp)%gtype=r2dvar
3946# endif
3947# ifdef WAVES_BOT_PERIOD
3948 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idwpbt))) THEN
3949 got_var(idwpbt)=.true.
3950 s(ng)%pioVar(idwpbt)%vd=
var_desc(i)
3951 s(ng)%pioVar(idwpbt)%dkind=
pio_fout
3952 s(ng)%pioVar(idwpbt)%gtype=r2dvar
3953# endif
3954# ifdef WAVES_DSPR
3955 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idwvds))) THEN
3956 got_var(idwvds)=.true.
3957 s(ng)%pioVar(idwvds)%vd=
var_desc(i)
3958 s(ng)%pioVar(idwvds)%dkind=
pio_fout
3959 s(ng)%pioVar(idwvds)%gtype=r2dvar
3960 ELSE IF (trim(var_name(i)).eq.trim(vname(1,idwvqp))) THEN
3961 got_var(idwvqp)=.true.
3962 s(ng)%pioVar(idwvqp)%vd=
var_desc(i)
3963 s(ng)%pioVar(idwvqp)%dkind=
pio_fout
3964 s(ng)%pioVar(idwvqp)%gtype=r2dvar
3965# endif
3966 END DO
3967
3968
3969
3970 IF (.not.got_var(idtime)) THEN
3971 IF (master) WRITE (stdout,10) trim(vname(1,idtime)), &
3972 & trim(ncname)
3973 exit_flag=3
3974 RETURN
3975 END IF
3976# if defined BBL_MODEL || defined SED_BEDLOAD_VANDERA || \
3977 defined wav_coupling
3978 IF (.not.got_var(idworb).and.varout(idworb,ng)) THEN
3979 IF (master) WRITE (stdout,10) trim(vname(1,idworb)), &
3980 & trim(ncname)
3981 exit_flag=3
3982 RETURN
3983 END IF
3984# endif
3985# ifdef BBL_MODEL
3986 IF (.not.got_var(idubrs).and.varout(idubrs,ng)) THEN
3987 IF (master) WRITE (stdout,10) trim(vname(1,idubrs)), &
3988 & trim(ncname)
3989 exit_flag=3
3990 RETURN
3991 END IF
3992 IF (.not.got_var(idvbrs).and.varout(idvbrs,ng)) THEN
3993 IF (master) WRITE (stdout,10) trim(vname(1,idvbrs)), &
3994 & trim(ncname)
3995 exit_flag=3
3996 RETURN
3997 END IF
3998 IF (.not.got_var(idubws).and.varout(idubws,ng)) THEN
3999 IF (master) WRITE (stdout,10) trim(vname(1,idubws)), &
4000 & trim(ncname)
4001 exit_flag=3
4002 RETURN
4003 END IF
4004 IF (.not.got_var(idvbws).and.varout(idvbws,ng)) THEN
4005 IF (master) WRITE (stdout,10) trim(vname(1,idvbws)), &
4006 & trim(ncname)
4007 exit_flag=3
4008 RETURN
4009 END IF
4010 IF (.not.got_var(idubcs).and.varout(idubcs,ng)) THEN
4011 IF (master) WRITE (stdout,10) trim(vname(1,idubcs)), &
4012 & trim(ncname)
4013 exit_flag=3
4014 RETURN
4015 END IF
4016 IF (.not.got_var(idvbcs).and.varout(idvbcs,ng)) THEN
4017 IF (master) WRITE (stdout,10) trim(vname(1,idvbcs)), &
4018 & trim(ncname)
4019 exit_flag=3
4020 RETURN
4021 END IF
4022 IF (.not.got_var(iduvwc).and.varout(iduvwc,ng)) THEN
4023 IF (master) WRITE (stdout,10) trim(vname(1,iduvwc)), &
4024 & trim(ncname)
4025 exit_flag=3
4026 RETURN
4027 END IF
4028 IF (.not.got_var(idubot).and.varout(idubot,ng)) THEN
4029 IF (master) WRITE (stdout,10) trim(vname(1,idubot)), &
4030 & trim(ncname)
4031 exit_flag=3
4032 RETURN
4033 END IF
4034 IF (.not.got_var(idvbot).and.varout(idvbot,ng)) THEN
4035 IF (master) WRITE (stdout,10) trim(vname(1,idvbot)), &
4036 & trim(ncname)
4037 exit_flag=3
4038 RETURN
4039 END IF
4040 IF (.not.got_var(idubur).and.varout(idubur,ng)) THEN
4041 IF (master) WRITE (stdout,10) trim(vname(1,idubur)), &
4042 & trim(ncname)
4043 exit_flag=3
4044 RETURN
4045 END IF
4046 IF (.not.got_var(idvbvr).and.varout(idvbvr,ng)) THEN
4047 IF (master) WRITE (stdout,10) trim(vname(1,idvbvr)), &
4048 & trim(ncname)
4049 exit_flag=3
4050 RETURN
4051 END IF
4052# endif
4053# if defined UV_KIRBY && defined AVERAGES
4054 IF (.not.got_var(iduwav).and.varout(iduwav,ng)) THEN
4055 IF (master) WRITE (stdout,10) trim(vname(1,iduwav)), &
4056 & trim(ncname)
4057 exit_flag=3
4058 RETURN
4059 END IF
4060 IF (.not.got_var(idvwav).and.varout(idvwav,ng)) THEN
4061 IF (master) WRITE (stdout,10) trim(vname(1,idvwav)), &
4062 & trim(ncname)
4063 exit_flag=3
4064 RETURN
4065 END IF
4066# endif
4067# ifdef WAVES_HEIGHT
4068 IF (.not.got_var(idwamp).and.varout(idwamp,ng)) THEN
4069 IF (master) WRITE (stdout,10) trim(vname(1,idwamp)), &
4070 & trim(ncname)
4071 exit_flag=3
4072 RETURN
4073 END IF
4074# ifdef AVERAGES
4075 IF (.not.got_var(idwam2).and.aout(idwam2,ng)) THEN
4076 IF (master) WRITE (stdout,10) trim(vname(1,idwam2)), &
4077 & trim(ncname)
4078 exit_flag=3
4079 RETURN
4080 END IF
4081# endif
4082# endif
4083# ifdef WAVES_LENGTH
4084 IF (.not.got_var(idwlen).and.varout(idwlen,ng)) THEN
4085 IF (master) WRITE (stdout,10) trim(vname(1,idwlen)), &
4086 & trim(ncname)
4087 exit_flag=3
4088 RETURN
4089 END IF
4090# endif
4091# ifdef WAVES_LENGTHP
4092 IF (.not.got_var(idwlep).and.varout(idwlep,ng)) THEN
4093 IF (master) WRITE (stdout,10) trim(vname(1,idwlep)), &
4094 & trim(ncname)
4095 exit_flag=3
4096 RETURN
4097 END IF
4098# endif
4099# ifdef WAVES_DIR
4100 IF (.not.got_var(idwdir).and.varout(idwdir,ng)) THEN
4101 IF (master) WRITE (stdout,10) trim(vname(1,idwdir)), &
4102 & trim(ncname)
4103 exit_flag=3
4104 RETURN
4105 END IF
4106# endif
4107# ifdef WAVES_DIRP
4108 IF (.not.got_var(idwdip).and.varout(idwdip,ng)) THEN
4109 IF (master) WRITE (stdout,10) trim(vname(1,idwdip)), &
4110 & trim(ncname)
4111 exit_flag=3
4112 RETURN
4113 END IF
4114# endif
4115# ifdef WAVES_TOP_PERIOD
4116 IF (.not.got_var(idwptp).and.varout(idwptp,ng)) THEN
4117 IF (master) WRITE (stdout,10) trim(vname(1,idwptp)), &
4118 & trim(ncname)
4119 exit_flag=3
4120 RETURN
4121 END IF
4122# endif
4123# ifdef WAVES_BOT_PERIOD
4124 IF (.not.got_var(idwpbt).and.varout(idwpbt,ng)) THEN
4125 IF (master) WRITE (stdout,10) trim(vname(1,idwpbt)), &
4126 & trim(ncname)
4127 exit_flag=3
4128 RETURN
4129 END IF
4130# endif
4131# ifdef WAVES_DSPR
4132 IF (.not.got_var(idwvds).and.varout(idwvds,ng)) THEN
4133 IF (master) WRITE (stdout,10) trim(vname(1,idwvds)), &
4134 & trim(ncname)
4135 exit_flag=3
4136 RETURN
4137 END IF
4138 IF (.not.got_var(idwvqp).and.varout(idwvqp,ng)) THEN
4139 IF (master) WRITE (stdout,10) trim(vname(1,idwvqp)), &
4140 & trim(ncname)
4141 exit_flag=3
4142 RETURN
4143 END IF
4144# endif
4145 END IF query
4146
4147 10 FORMAT (/,' BBL_DEF_PIO - unable to find variable: ',a,2x, &
4148 & ' in output NetCDF file: ',a)
4149
4150 RETURN
integer, parameter pio_fout
type(var_desc_t), dimension(:), pointer var_desc
integer, parameter pio_tout