240 |
IF ( use3Dsolver ) THEN |
IF ( use3Dsolver ) THEN |
241 |
WRITE(fn,'(A,A10)') 'pickup_nh.',suff |
WRITE(fn,'(A,A10)') 'pickup_nh.',suff |
242 |
CALL READ_REC_3D_RL( fn, fp, Nr, phi_nh, 1, myIter,myThid ) |
CALL READ_REC_3D_RL( fn, fp, Nr, phi_nh, 1, myIter,myThid ) |
243 |
|
#ifdef ALLOW_ADAMSBASHFORTH_3 |
244 |
|
CALL READ_REC_3D_RL( fn, fp, Nr, gwNm(1-Olx,1-Oly,1,1,1,1), |
245 |
|
& 2, myIter,myThid ) |
246 |
|
CALL READ_REC_3D_RL( fn, fp, Nr, gwNm(1-Olx,1-Oly,1,1,1,2), |
247 |
|
& 2, myIter,myThid ) |
248 |
|
#else /* ALLOW_ADAMSBASHFORTH_3 */ |
249 |
CALL READ_REC_3D_RL( fn, fp, Nr, gwNm1, 2, myIter,myThid ) |
CALL READ_REC_3D_RL( fn, fp, Nr, gwNm1, 2, myIter,myThid ) |
250 |
|
#endif /* ALLOW_ADAMSBASHFORTH_3 */ |
251 |
ENDIF |
ENDIF |
252 |
#endif |
#endif /* ALLOW_NONHYDROSTATIC */ |
253 |
ELSE |
ELSE |
254 |
C--- New way to read model fields: |
C--- New way to read model fields: |
255 |
nj = 0 |
nj = 0 |
326 |
& nj, fp, Nr, myIter, myThid ) |
& nj, fp, Nr, myIter, myThid ) |
327 |
ENDIF |
ENDIF |
328 |
ENDIF |
ENDIF |
329 |
|
#ifdef ALLOW_NONHYDROSTATIC |
330 |
|
IF ( nonHydrostatic ) THEN |
331 |
|
C-- W velocity: |
332 |
|
IF ( alph_AB.NE.0. .OR. beta_AB.NE.0. ) THEN |
333 |
|
CALL READ_MFLDS_3D_RL( 'GwNm1 ',gwNm(1-Olx,1-Oly,1,1,1,m1), |
334 |
|
& nj, fp, Nr, myIter, myThid ) |
335 |
|
ENDIF |
336 |
|
IF ( beta_AB.NE.0. ) THEN |
337 |
|
CALL READ_MFLDS_3D_RL( 'GwNm2 ',gwNm(1-Olx,1-Oly,1,1,1,m2), |
338 |
|
& nj, fp, Nr, myIter, myThid ) |
339 |
|
ENDIF |
340 |
|
ENDIF |
341 |
|
#endif /* ALLOW_NONHYDROSTATIC */ |
342 |
#else /* ALLOW_ADAMSBASHFORTH_3 */ |
#else /* ALLOW_ADAMSBASHFORTH_3 */ |
343 |
IF ( momStepping ) THEN |
IF ( momStepping ) THEN |
344 |
C-- U velocity: |
C-- U velocity: |
358 |
CALL READ_MFLDS_3D_RL( 'GsNm1 ', gsNm1, |
CALL READ_MFLDS_3D_RL( 'GsNm1 ', gsNm1, |
359 |
& nj, fp, Nr, myIter, myThid ) |
& nj, fp, Nr, myIter, myThid ) |
360 |
ENDIF |
ENDIF |
361 |
|
#ifdef ALLOW_NONHYDROSTATIC |
362 |
|
IF ( nonHydrostatic ) THEN |
363 |
|
CALL READ_MFLDS_3D_RL( 'GwNm1 ', gwNm1, |
364 |
|
& nj, fp, Nr, myIter, myThid ) |
365 |
|
ENDIF |
366 |
|
#endif /* ALLOW_NONHYDROSTATIC */ |
367 |
#endif /* ALLOW_ADAMSBASHFORTH_3 */ |
#endif /* ALLOW_ADAMSBASHFORTH_3 */ |
368 |
|
|
369 |
C- read Full Pressure for EOS in pressure: |
C- read Full Pressure for EOS in pressure: |
376 |
CALL READ_MFLDS_3D_RL( 'Phi_NHyd', phi_nh, |
CALL READ_MFLDS_3D_RL( 'Phi_NHyd', phi_nh, |
377 |
& nj, fp, Nr, myIter, myThid ) |
& nj, fp, Nr, myIter, myThid ) |
378 |
ENDIF |
ENDIF |
379 |
IF ( nonHydrostatic ) THEN |
#endif /* ALLOW_NONHYDROSTATIC */ |
|
CALL READ_MFLDS_3D_RL( 'GwNm1 ', gwNm1, |
|
|
& nj, fp, Nr, myIter, myThid ) |
|
|
ENDIF |
|
|
#endif |
|
380 |
#ifdef ALLOW_ADDFLUID |
#ifdef ALLOW_ADDFLUID |
381 |
C- read mass source/sink of fluid |
C- read mass source/sink of fluid |
382 |
IF ( selectAddFluid.GE.1 ) THEN |
IF ( selectAddFluid.GE.1 ) THEN |
389 |
nj = nj*Nr |
nj = nj*Nr |
390 |
CALL READ_MFLDS_3D_RL( 'EtaN ', etaN, |
CALL READ_MFLDS_3D_RL( 'EtaN ', etaN, |
391 |
& nj, fp, 1 , myIter, myThid ) |
& nj, fp, 1 , myIter, myThid ) |
392 |
|
#ifdef ALLOW_NONHYDROSTATIC |
393 |
|
IF ( selectNHfreeSurf.GE.1 ) THEN |
394 |
|
CALL READ_MFLDS_3D_RL( 'dPhiNH ', dPhiNH, |
395 |
|
& nj, fp, 1 , myIter, myThid ) |
396 |
|
ENDIF |
397 |
|
#endif /* ALLOW_NONHYDROSTATIC */ |
398 |
#ifdef EXACT_CONSERV |
#ifdef EXACT_CONSERV |
399 |
IF ( exactConserv ) THEN |
IF ( exactConserv ) THEN |
400 |
CALL READ_MFLDS_3D_RL( 'dEtaHdt ', dEtaHdt, |
CALL READ_MFLDS_3D_RL( 'dEtaHdt ', dEtaHdt, |
404 |
CALL READ_MFLDS_3D_RL( 'EtaH ', etaH, |
CALL READ_MFLDS_3D_RL( 'EtaH ', etaH, |
405 |
& nj, fp, 1 , myIter, myThid ) |
& nj, fp, 1 , myIter, myThid ) |
406 |
ENDIF |
ENDIF |
407 |
#endif |
#endif /* EXACT_CONSERV */ |
408 |
C-- end: new way to read pickup file |
C-- end: new way to read pickup file |
409 |
ENDIF |
ENDIF |
410 |
|
|
461 |
IF (use3Dsolver) THEN |
IF (use3Dsolver) THEN |
462 |
CALL MNC_CW_RL_R('D',fn,0,0,'phi_nh', phi_nh, myThid) |
CALL MNC_CW_RL_R('D',fn,0,0,'phi_nh', phi_nh, myThid) |
463 |
c CALL MNC_CW_RL_R('D',fn,0,0,'gW', gW, myThid) |
c CALL MNC_CW_RL_R('D',fn,0,0,'gW', gW, myThid) |
464 |
|
#ifndef ALLOW_ADAMSBASHFORTH_3 |
465 |
CALL MNC_CW_RL_R('D',fn,0,0,'gWnm1', gwNm1, myThid) |
CALL MNC_CW_RL_R('D',fn,0,0,'gWnm1', gwNm1, myThid) |
466 |
|
#endif |
467 |
ENDIF |
ENDIF |
468 |
#endif |
#endif |
469 |
IF ( useDynP_inEos_Zc ) THEN |
IF ( useDynP_inEos_Zc ) THEN |
481 |
#ifdef ALLOW_ADAMSBASHFORTH_3 |
#ifdef ALLOW_ADAMSBASHFORTH_3 |
482 |
CALL EXCH_UV_3D_RL( guNm(1-Olx,1-Oly,1,1,1,1), |
CALL EXCH_UV_3D_RL( guNm(1-Olx,1-Oly,1,1,1,1), |
483 |
& gvNm(1-Olx,1-Oly,1,1,1,1),.TRUE.,Nr,myThid ) |
& gvNm(1-Olx,1-Oly,1,1,1,1),.TRUE.,Nr,myThid ) |
|
CALL EXCH_3D_RL( gtNm(1-Olx,1-Oly,1,1,1,1), Nr, myThid ) |
|
|
CALL EXCH_3D_RL( gsNm(1-Olx,1-Oly,1,1,1,1), Nr, myThid ) |
|
484 |
CALL EXCH_UV_3D_RL( guNm(1-Olx,1-Oly,1,1,1,2), |
CALL EXCH_UV_3D_RL( guNm(1-Olx,1-Oly,1,1,1,2), |
485 |
& gvNm(1-Olx,1-Oly,1,1,1,2),.TRUE.,Nr,myThid ) |
& gvNm(1-Olx,1-Oly,1,1,1,2),.TRUE.,Nr,myThid ) |
486 |
|
CALL EXCH_3D_RL( gtNm(1-Olx,1-Oly,1,1,1,1), Nr, myThid ) |
487 |
CALL EXCH_3D_RL( gtNm(1-Olx,1-Oly,1,1,1,2), Nr, myThid ) |
CALL EXCH_3D_RL( gtNm(1-Olx,1-Oly,1,1,1,2), Nr, myThid ) |
488 |
|
CALL EXCH_3D_RL( gsNm(1-Olx,1-Oly,1,1,1,1), Nr, myThid ) |
489 |
CALL EXCH_3D_RL( gsNm(1-Olx,1-Oly,1,1,1,2), Nr, myThid ) |
CALL EXCH_3D_RL( gsNm(1-Olx,1-Oly,1,1,1,2), Nr, myThid ) |
490 |
#else /* ALLOW_ADAMSBASHFORTH_3 */ |
#else /* ALLOW_ADAMSBASHFORTH_3 */ |
491 |
CALL EXCH_UV_3D_RL( guNm1, gvNm1, .TRUE., Nr, myThid ) |
CALL EXCH_UV_3D_RL( guNm1, gvNm1, .TRUE., Nr, myThid ) |
504 |
#ifdef ALLOW_NONHYDROSTATIC |
#ifdef ALLOW_NONHYDROSTATIC |
505 |
IF ( use3Dsolver ) THEN |
IF ( use3Dsolver ) THEN |
506 |
CALL EXCH_3D_RL( phi_nh, Nr, myThid ) |
CALL EXCH_3D_RL( phi_nh, Nr, myThid ) |
507 |
|
ENDIF |
508 |
|
IF ( nonHydrostatic ) THEN |
509 |
|
#ifdef ALLOW_ADAMSBASHFORTH_3 |
510 |
|
CALL EXCH_3D_RL( gwNm(1-Olx,1-Oly,1,1,1,1), Nr, myThid ) |
511 |
|
CALL EXCH_3D_RL( gwNm(1-Olx,1-Oly,1,1,1,2), Nr, myThid ) |
512 |
|
#else /* ALLOW_ADAMSBASHFORTH_3 */ |
513 |
CALL EXCH_3D_RL( gwNm1, Nr, myThid ) |
CALL EXCH_3D_RL( gwNm1, Nr, myThid ) |
514 |
|
#endif /* ALLOW_ADAMSBASHFORTH_3 */ |
515 |
ENDIF |
ENDIF |
516 |
#endif |
IF ( selectNHfreeSurf.GE.1 ) THEN |
517 |
|
CALL EXCH_XY_RL( dPhiNH, myThid ) |
518 |
|
ENDIF |
519 |
|
#endif /* ALLOW_NONHYDROSTATIC */ |
520 |
|
|
521 |
RETURN |
RETURN |
522 |
END |
END |