New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 389 for trunk/NEMO/OPA_SRC/DOM/domhgr.F90 – NEMO

Ignore:
Timestamp:
2006-03-09T18:22:04+01:00 (18 years ago)
Author:
opalod
Message:

RB:nemo_v1_update_038: first integration of Agrif :

  • configuration parameters are just integer when agrif is used
  • add call to agrif routines with key_agrif
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DOM/domhgr.F90

    r352 r389  
    110110         zlam1, zcos_alpha, zim1 , zjm1 , ze1, ze1deg,   & 
    111111         zphi1, zsin_alpha, zim05, zjm05 
     112          
     113         real,dimension(:,:),pointer :: ffparent 
    112114      !!---------------------------------------------------------------------- 
    113115 
     
    233235         glam0 = 0.e0 
    234236         gphi0 = - ppe2_m * 1.e-3 
     237          
     238#if defined key_AGRIF && defined key_eel_r6 
     239         IF (.Not.Agrif_Root()) THEN 
     240           glam0  = Agrif_Parent(glam0) + (Agrif_ix())*Agrif_Parent(ppe1_m) * 1.e-3 
     241           gphi0  = Agrif_Parent(gphi0) + (Agrif_iy())*Agrif_Parent(ppe2_m) * 1.e-3 
     242           ppe1_m = Agrif_Parent(ppe1_m)/Agrif_Rhox() 
     243           ppe2_m = Agrif_Parent(ppe2_m)/Agrif_Rhoy()           
     244         ENDIF 
     245#endif          
    235246         DO jj = 1, jpj 
    236247            DO ji = 1, jpi 
     
    422433         zbeta   = 2. * omega * COS( rad * ppgphi0 ) / ra                       ! beta at latitude ppgphi0 
    423434         zphi0   = ppgphi0 - FLOAT( jpjglo/2) * ppe2_m / ( ra * rad )           ! latitude of the first row F-points 
     435          
     436#if defined key_AGRIF && defined key_eel_r6 
     437         IF (.Not.Agrif_Root()) THEN 
     438           zphi0 = ppgphi0 - FLOAT( Agrif_Parent(jpjglo)/2)*Agrif_Parent(ppe2_m) / (ra * rad) 
     439         ENDIF 
     440#endif          
    424441         zf0     = 2. * omega * SIN( rad * zphi0 )                              ! compute f0 1st point south 
    425442 
    426443         ff(:,:) = ( zf0  + zbeta * gphif(:,:) * 1.e+3 )                        ! f = f0 +beta* y ( y=0 at south) 
    427         
     444          
    428445         IF(lwp) WRITE(numout,*)  
    429446         IF(lwp) WRITE(numout,*) ' Beta-plane: Beta parameter = constant = ', ff(1,1) 
     
    486503      !! * Local declarations 
    487504      LOGICAL ::   llog = .FALSE. 
    488       CHARACTER(len=21) ::   clname = 'coordinates' 
     505      CHARACTER(len=21) ::   clname 
    489506      INTEGER  ::   ji, jj              ! dummy loop indices 
    490507      INTEGER  ::   inum                ! temporary logical unit 
     
    495512         zlamt, zphit, zdta             ! temporary workspace (NetCDF read) 
    496513      !!---------------------------------------------------------------------- 
     514      clname = 'coordinates' 
     515#if defined key_AGRIF 
     516      if ( .NOT. Agrif_Root() ) then 
     517         clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) 
     518      endif 
     519#endif          
    497520 
    498521 
     
    515538         &                  itime , zdate0, zdt   , inum, domain_id=nidom ) 
    516539 
    517       CALL restget( inum, 'glamt', jpidta, jpjdta, 1, 0, llog, zdta ) 
     540      CALL restget( inum, 'glamt', jpidta, jpjdta, 1, itime, llog, zdta ) 
    518541      DO jj = 1, nlcj 
    519542         DO ji = 1, nlci 
     
    521544         END DO 
    522545      END DO 
    523       CALL restget( inum, 'glamu', jpidta, jpjdta, 1, 0, llog, zdta ) 
     546      CALL restget( inum, 'glamu', jpidta, jpjdta, 1, itime, llog, zdta ) 
    524547      DO jj = 1, nlcj 
    525548         DO ji = 1, nlci 
     
    527550         END DO 
    528551      END DO 
    529       CALL restget( inum, 'glamv', jpidta, jpjdta, 1, 0, llog, zdta ) 
     552      CALL restget( inum, 'glamv', jpidta, jpjdta, 1, itime, llog, zdta ) 
    530553      DO jj = 1, nlcj 
    531554         DO ji = 1, nlci 
     
    533556         END DO 
    534557      END DO 
    535       CALL restget( inum, 'glamf', jpidta, jpjdta, 1, 0, llog, zdta ) 
     558      CALL restget( inum, 'glamf', jpidta, jpjdta, 1, itime, llog, zdta ) 
    536559      DO jj = 1, nlcj 
    537560         DO ji = 1, nlci 
     
    539562         END DO 
    540563      END DO 
    541       CALL restget( inum, 'gphit', jpidta, jpjdta, 1, 0, llog, zdta ) 
     564      CALL restget( inum, 'gphit', jpidta, jpjdta, 1, itime, llog, zdta ) 
    542565      DO jj = 1, nlcj 
    543566         DO ji = 1, nlci 
     
    545568         END DO 
    546569      END DO 
    547       CALL restget( inum, 'gphiu', jpidta, jpjdta, 1, 0, llog, zdta ) 
     570      CALL restget( inum, 'gphiu', jpidta, jpjdta, 1, itime, llog, zdta ) 
    548571      DO jj = 1, nlcj 
    549572         DO ji = 1, nlci 
     
    551574         END DO 
    552575      END DO 
    553       CALL restget( inum, 'gphiv', jpidta, jpjdta, 1, 0, llog, zdta ) 
     576      CALL restget( inum, 'gphiv', jpidta, jpjdta, 1, itime, llog, zdta ) 
    554577      DO jj = 1, nlcj 
    555578         DO ji = 1, nlci 
     
    557580         END DO 
    558581      END DO 
    559       CALL restget( inum, 'gphif', jpidta, jpjdta, 1, 0, llog, zdta ) 
     582      CALL restget( inum, 'gphif', jpidta, jpjdta, 1, itime, llog, zdta ) 
    560583      DO jj = 1, nlcj 
    561584         DO ji = 1, nlci 
     
    563586         END DO 
    564587      END DO 
    565       CALL restget( inum, 'e1t', jpidta, jpjdta, 1, 0, llog, zdta ) 
     588      CALL restget( inum, 'e1t', jpidta, jpjdta, 1, itime, llog, zdta ) 
    566589      DO jj = 1, nlcj 
    567590         DO ji = 1, nlci 
     
    569592         END DO 
    570593      END DO 
    571       CALL restget( inum, 'e1u', jpidta, jpjdta, 1, 0, llog, zdta ) 
     594      CALL restget( inum, 'e1u', jpidta, jpjdta, 1, itime, llog, zdta ) 
    572595      DO jj = 1, nlcj 
    573596         DO ji = 1, nlci 
     
    575598         END DO 
    576599      END DO 
    577       CALL restget( inum, 'e1v', jpidta, jpjdta, 1, 0, llog, zdta ) 
     600      CALL restget( inum, 'e1v', jpidta, jpjdta, 1, itime, llog, zdta ) 
    578601      DO jj = 1, nlcj 
    579602         DO ji = 1, nlci 
     
    581604         END DO 
    582605      END DO 
    583       CALL restget( inum, 'e1f', jpidta, jpjdta, 1, 0, llog, zdta ) 
     606      CALL restget( inum, 'e1f', jpidta, jpjdta, 1, itime, llog, zdta ) 
    584607      DO jj = 1, nlcj 
    585608         DO ji = 1, nlci 
     
    587610         END DO 
    588611      END DO 
    589       CALL restget( inum, 'e2t', jpidta, jpjdta, 1, 0, llog, zdta ) 
     612      CALL restget( inum, 'e2t', jpidta, jpjdta, 1, itime, llog, zdta ) 
    590613      DO jj = 1, nlcj 
    591614         DO ji = 1, nlci 
     
    593616         END DO 
    594617      END DO 
    595       CALL restget( inum, 'e2u', jpidta, jpjdta, 1, 0, llog, zdta ) 
     618      CALL restget( inum, 'e2u', jpidta, jpjdta, 1, itime, llog, zdta ) 
    596619      DO jj = 1, nlcj 
    597620         DO ji = 1, nlci 
     
    599622         END DO 
    600623      END DO 
    601       CALL restget( inum, 'e2v', jpidta, jpjdta, 1, 0, llog, zdta ) 
     624      CALL restget( inum, 'e2v', jpidta, jpjdta, 1, itime, llog, zdta ) 
    602625      DO jj = 1, nlcj 
    603626         DO ji = 1, nlci 
     
    605628         END DO 
    606629      END DO 
    607       CALL restget( inum, 'e2f', jpidta, jpjdta, 1, 0, llog, zdta ) 
     630      CALL restget( inum, 'e2f', jpidta, jpjdta, 1, itime, llog, zdta ) 
    608631      DO jj = 1, nlcj 
    609632         DO ji = 1, nlci 
Note: See TracChangeset for help on using the changeset viewer.