Changeset 389

Ignore:
Timestamp:
2006-03-09T18:22:04+01:00 (15 years ago)
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
Location:
trunk/NEMO/OPA_SRC
Files:
48 edited

Unmodified
Removed
• trunk/NEMO/OPA_SRC/DIA/diafwb.F90

 r359 END SELECT ! ENDIF DO jk = 1, 18 zt = 0.5 * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) ENDIF END DO ENDIF ! Mean flow at Cadiz END SELECT ! ENDIF DO jk = 1, 23 zt = 0.5 * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) ENDIF END DO ENDIF ! Mean flow at Red Sea entrance END SELECT ! ENDIF DO jk = 1, 15 zt = 0.5 * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) ENDIF END DO ENDIF ! Mean flow at Baltic Sea entrance END SELECT ! ENDIF DO jk = 1, 20 zt = 0.5 * ( tn(ji,jj,jk) + tn(ji+1,jj,jk) ) ENDIF END DO ENDIF ! Sum at each time-step
• trunk/NEMO/OPA_SRC/DIA/diaptr.F90

 r352 !! * local declarations INTEGER  ::   ji, jj, jk        ! dummy loop arguments #if ! defined key_AGRIF INTEGER  ::   ijpj = jpj        ! ??? #else INTEGER  ::   ijpj             ! ??? #endif REAL(wp),DIMENSION(jpj) ::   & p_fval                       ! function value !!-------------------------------------------------------------------- #if defined key_AGRIF ijpj = jpj #endif p_fval(:) = 0.e0 !! * local declarations INTEGER  ::   ji,jj             ! dummy loop arguments #if ! defined key_AGRIF INTEGER  ::   ijpj = jpj        ! ??? #else INTEGER  ::   ijpj             ! ??? #endif REAL(wp),DIMENSION(jpj) ::   & p_fval                       ! function value !!-------------------------------------------------------------------- #if defined key_AGRIF ijpj = jpj #endif p_fval(:) = 0.e0
• trunk/NEMO/OPA_SRC/DIA/diawri.F90

 r359 REAL(wp), DIMENSION(jpi,jpj) :: & zw2d                            ! temporary workspace CHARACTER (len=80) :: clname !!---------------------------------------------------------------------- ! WRITE root name in date.file for use by postpro CALL dia_nam( clhstnam, nwrite,' ' ) CALL ctlopn( inum, 'date.file', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', 1, numout, lwp, 1 ) clname = 'date.file' CALL ctlopn( inum, clname,  'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', 1, numout, lwp, 1 ) WRITE(inum,*) clhstnam CLOSE(inum)
• trunk/NEMO/OPA_SRC/DIA/diawri_dimg.h90

 r359 &   .OR.       kindic <   0            & &   .OR. ( kt == 1 .AND. kindic > 0)  ) THEN OPEN (14,FILE='datrj.out',FORM='FORMATTED', STATUS='UNKNOWN',POSITION='APPEND ') OPEN (14,FILE='datrj.out',FORM='FORMATTED', STATUS='UNKNOWN',POSITION='APPEND') IF (lwp) WRITE(14,'(f10.4,1x,i8)') adatrj, ndastp
• trunk/NEMO/OPA_SRC/DOM/dom_oce.F90

 r359 !                        ! parameterize exchanges through straits !!---------------------------------------------------------------------- #if defined key_AGRIF !!---------------------------------------------------------------------- !! agrif sponge layer !!---------------------------------------------------------------------- LOGICAL :: spongedoneT = .FALSE. REAL(wp), DIMENSION(jpi,jpj) :: zspe1ur, zspe2vr ,zspbtr2 !!---------------------------------------------------------------------- #endif END MODULE dom_oce
• trunk/NEMO/OPA_SRC/DOM/domain.F90

 r359 hu(:,:) = 0. hv(:,:) = 0. DO jk = 1, jpk hu(:,:) = hu(:,:) + fse3u(:,:,jk) * umask(:,:,jk) hur(:,:) = fse3u(:,:,1)             ! Lower bound : thickness of the first model level hvr(:,:) = fse3v(:,:,1) DO jk = 2, jpk                      ! Sum of the vertical scale factors hur(:,:) = hur(:,:) + fse3u(:,:,jk) * umask(:,:,jk) hvr(:,:) = hvr(:,:) + fse3v(:,:,jk) * vmask(:,:,jk) END DO ! Compute and mask the inverse of the local depth hur(:,:) = 1. / hur(:,:) * umask(:,:,1) !! * Modules used USE ioipsl NAMELIST/namrun/ no    , cexper   , ln_rstart , nrstdt , nit000,          & &             nitend, ndate0   , nleapy   , ninist , nstock,           & NAMELIST/namrun/ no    , cexper   , ln_rstart , nrstdt , nit000,         & &             nitend, ndate0   , nleapy   , ninist , nstock,          & &             nprint, nwrite   , nrunoff  , ln_ctl , nictls, nictle,   & &             njctls, njctle   , nbench   , isplt  , jsplt ENDIF #if defined key_AGRIF if ( Agrif_Root() ) then #endif SELECT CASE ( nleapy )   ! Choose calendar for IOIPSL CASE (  1 ) IF(lwp) WRITE(numout,*) '           The IOIPSL calendar is "360d", i.e. 360 days in a year' END SELECT #if defined key_AGRIF endif #endif SELECT CASE ( nleapy )   ! year=raajj*days day=rjjhh*hours hour=rhhmm*minutes etc ...
• trunk/NEMO/OPA_SRC/DOM/domhgr.F90

 r352 zlam1, zcos_alpha, zim1 , zjm1 , ze1, ze1deg,   & zphi1, zsin_alpha, zim05, zjm05 real,dimension(:,:),pointer :: ffparent !!---------------------------------------------------------------------- glam0 = 0.e0 gphi0 = - ppe2_m * 1.e-3 #if defined key_AGRIF && defined key_eel_r6 IF (.Not.Agrif_Root()) THEN glam0  = Agrif_Parent(glam0) + (Agrif_ix())*Agrif_Parent(ppe1_m) * 1.e-3 gphi0  = Agrif_Parent(gphi0) + (Agrif_iy())*Agrif_Parent(ppe2_m) * 1.e-3 ppe1_m = Agrif_Parent(ppe1_m)/Agrif_Rhox() ppe2_m = Agrif_Parent(ppe2_m)/Agrif_Rhoy() ENDIF #endif DO jj = 1, jpj DO ji = 1, jpi zbeta   = 2. * omega * COS( rad * ppgphi0 ) / ra                       ! beta at latitude ppgphi0 zphi0   = ppgphi0 - FLOAT( jpjglo/2) * ppe2_m / ( ra * rad )           ! latitude of the first row F-points #if defined key_AGRIF && defined key_eel_r6 IF (.Not.Agrif_Root()) THEN zphi0 = ppgphi0 - FLOAT( Agrif_Parent(jpjglo)/2)*Agrif_Parent(ppe2_m) / (ra * rad) ENDIF #endif zf0     = 2. * omega * SIN( rad * zphi0 )                              ! compute f0 1st point south ff(:,:) = ( zf0  + zbeta * gphif(:,:) * 1.e+3 )                        ! f = f0 +beta* y ( y=0 at south) IF(lwp) WRITE(numout,*) IF(lwp) WRITE(numout,*) ' Beta-plane: Beta parameter = constant = ', ff(1,1) !! * Local declarations LOGICAL ::   llog = .FALSE. CHARACTER(len=21) ::   clname = 'coordinates' CHARACTER(len=21) ::   clname INTEGER  ::   ji, jj              ! dummy loop indices INTEGER  ::   inum                ! temporary logical unit zlamt, zphit, zdta             ! temporary workspace (NetCDF read) !!---------------------------------------------------------------------- clname = 'coordinates' #if defined key_AGRIF if ( .NOT. Agrif_Root() ) then clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) endif #endif &                  itime , zdate0, zdt   , inum, domain_id=nidom ) CALL restget( inum, 'glamt', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'glamt', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'glamu', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'glamu', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'glamv', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'glamv', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'glamf', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'glamf', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'gphit', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'gphit', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'gphiu', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'gphiu', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'gphiv', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'gphiv', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'gphif', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'gphif', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'e1t', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'e1t', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'e1u', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'e1u', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'e1v', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'e1v', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'e1f', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'e1f', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'e2t', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'e2t', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'e2u', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'e2u', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'e2v', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'e2v', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci END DO END DO CALL restget( inum, 'e2f', jpidta, jpjdta, 1, 0, llog, zdta ) CALL restget( inum, 'e2f', jpidta, jpjdta, 1, itime, llog, zdta ) DO jj = 1, nlcj DO ji = 1, nlci

• trunk/NEMO/OPA_SRC/DOM/domzgr_zps.h90

 r253 IF(lwp) THEN WRITE(numout,*) ' e3t lev 21 ' CALL prihre(e3t_ps(1,1,21),jpi,jpj,50,59,1,1,5,1,0.,numout) CALL prihre(e3t_ps(:,:,21),jpi,jpj,50,59,1,1,5,1,0.,numout) WRITE(numout,*) ' e3w lev 21  ' CALL prihre(e3w_ps(1,1,21),jpi,jpj,50,59,1,1,5,1,0.,numout) CALL prihre(e3w_ps(:,:,21),jpi,jpj,50,59,1,1,5,1,0.,numout) WRITE(numout,*) ' e3u lev 21  ' CALL prihre(e3u_ps(1,1,21),jpi,jpj,50,59,1,1,5,1,0.,numout) CALL prihre(e3u_ps(:,:,21),jpi,jpj,50,59,1,1,5,1,0.,numout) WRITE(numout,*) ' e3v lev 21  ' CALL prihre(e3v_ps(1,1,21),jpi,jpj,50,59,1,1,5,1,0.,numout) CALL prihre(e3v_ps(:,:,21),jpi,jpj,50,59,1,1,5,1,0.,numout) WRITE(numout,*) ' e3f lev 21  ' CALL prihre(e3f_ps(1,1,21),jpi,jpj,50,59,1,1,5,1,0.,numout) CALL prihre(e3f_ps(:,:,21),jpi,jpj,50,59,1,1,5,1,0.,numout) WRITE(numout,*) ' e3t lev 22 ' CALL prihre(e3t_ps(1,1,22),jpi,jpj,50,59,1,1,5,1,0.,numout) CALL prihre(e3t_ps(:,:,22),jpi,jpj,50,59,1,1,5,1,0.,numout) WRITE(numout,*) ' e3w lev 22  ' CALL prihre(e3w_ps(1,1,22),jpi,jpj,50,59,1,1,5,1,0.,numout) CALL prihre(e3w_ps(:,:,22),jpi,jpj,50,59,1,1,5,1,0.,numout) WRITE(numout,*) ' e3u lev 22  ' CALL prihre(e3u_ps(1,1,22),jpi,jpj,50,59,1,1,5,1,0.,numout) CALL prihre(e3u_ps(:,:,22),jpi,jpj,50,59,1,1,5,1,0.,numout) WRITE(numout,*) ' e3v lev 22  ' CALL prihre(e3v_ps(1,1,22),jpi,jpj,50,59,1,1,5,1,0.,numout) CALL prihre(e3v_ps(:,:,22),jpi,jpj,50,59,1,1,5,1,0.,numout) WRITE(numout,*) ' e3f lev 22  ' CALL prihre(e3f_ps(1,1,22),jpi,jpj,50,59,1,1,5,1,0.,numout) CALL prihre(e3f_ps(:,:,22),jpi,jpj,50,59,1,1,5,1,0.,numout) ENDIF
• trunk/NEMO/OPA_SRC/DTA/dtasal.F90

 r247 clname = 'data_1m_salinity_nomask' #if defined key_AGRIF if ( .NOT. Agrif_Root() ) then clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) endif #endif CALL flinopen(TRIM(clname),mig(1),nlci,mjg(1),nlcj,.FALSE.   & ,ipi,ipj,ipk,zlon,zlat,zlev,itime,istep,zdate0,rdt,numsdt) WRITE(numout,*) WRITE(numout,*) ' Levitus month = ',nsal1,'  level = 1' CALL prihre(saldta(1,1,1,1),jpi,jpj,1,jpi,20,1,jpj,20,1.,numout) CALL prihre(saldta(:,:,1,1),jpi,jpj,1,jpi,20,1,jpj,20,1.,numout) WRITE(numout,*) ' Levitus month = ',nsal1,'  level = ',jpk/2 CALL prihre(saldta(1,1,jpk/2,1),jpi,jpj,1,jpi,20,1,jpj,20,1.,numout) CALL prihre(saldta(:,:,jpk/2,1),jpi,jpj,1,jpi,20,1,jpj,20,1.,numout) WRITE(numout,*) ' Levitus month = ',nsal1,'  level = ',jpkm1 CALL prihre(saldta(1,1,jpkm1,1),jpi,jpj,1,jpi,20,1,jpj,20,1.,numout) CALL prihre(saldta(:,:,jpkm1,1),jpi,jpj,1,jpi,20,1,jpj,20,1.,numout) ENDIF ENDIF
• trunk/NEMO/OPA_SRC/DTA/dtasst.F90

 r247 REAL(wp) ::   zlon(jpi,jpj), zlat(jpi,jpj), zlev(jpk) CHARACTER (len=45) ::   & clname = "sst_1d.nc"      ! filename for daily SST clname       ! filename for daily SST !!---------------------------------------------------------------------- clname = 'sst_1d.nc' #if defined key_AGRIF if ( .NOT. Agrif_Root() ) then clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) endif #endif IF( kt == nit000 ) THEN IF(lwp) WRITE(numout,*)
• trunk/NEMO/OPA_SRC/DTA/dtatem.F90

 r247 !! * Module variables CHARACTER (len=38) ::   & cl_tdata = 'data_1m_potential_temperature_nomask ' CHARACTER (len=45) ::   & cl_tdata INTEGER ::   & nlecte =  0,   &  ! switch for the first read !!---------------------------------------------------------------------- cl_tdata = 'data_1m_potential_temperature_nomask ' #if defined key_AGRIF if ( .NOT. Agrif_Root() ) then cl_tdata = TRIM(Agrif_CFixed())//'_'//TRIM(cl_tdata) endif #endif ! 0. Initialization WRITE(numout,*) WRITE(numout,*) ' Levitus month = ', ntem1, '  level = 1' CALL prihre( temdta(1,1,1,1), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout ) CALL prihre( temdta(:,:,1,1), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout ) WRITE(numout,*) ' Levitus month = ', ntem1, '  level = ', jpk/2 CALL prihre( temdta(1,1,jpk/2,1), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout ) CALL prihre( temdta(:,:,jpk/2,1), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout ) WRITE(numout,*) ' Levitus month = ',ntem1,'  level = ', jpkm1 CALL prihre( temdta(1,1,jpkm1,1), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout ) CALL prihre( temdta(:,:,jpkm1,1), jpi, jpj, 1, jpi, 20, 1, jpj, 20, 1., numout ) ENDIF ENDIF
• trunk/NEMO/OPA_SRC/DYN/divcur.F90

 r247 hdivn(ji,jj,jk) = (  e2u(ji,jj) * un(ji,jj,jk) - e2u(ji-1,jj  ) * un(ji-1,jj  ,jk)      & &               + e1v(ji,jj) * vn(ji,jj,jk) - e1v(ji  ,jj-1) * vn(ji  ,jj-1,jk)  )   & &            / ( e1t(ji,jj) * e2t(ji,jj) ) &            / ( e1t(ji,jj) * e2t(ji,jj) ) #endif END DO IF( lp_obc_south )   hdivn(nis0  :nis1  ,njs0  :njs1  ,jk) = 0.e0      ! south #endif #if defined key_AGRIF if ( .NOT. AGRIF_Root() ) then IF ((nbondi ==  1).OR.(nbondi == 2)) hdivn(nlci-1 , :     ,jk) = 0.e0      ! east IF ((nbondi == -1).OR.(nbondi == 2)) hdivn(2      , :     ,jk) = 0.e0      ! west IF ((nbondj ==  1).OR.(nbondj == 2)) hdivn(:      ,nlcj-1 ,jk) = 0.e0      ! north IF ((nbondj == -1).OR.(nbondj == 2)) hdivn(:      ,2      ,jk) = 0.e0      ! south endif #endif !                                             ! -------- IF( lp_obc_south )   hdivn(nis0  :nis1  ,njs0  :njs1  ,jk) = 0.e0      ! south #endif #if defined key_AGRIF if ( .NOT. AGRIF_Root() ) then IF ((nbondi ==  1).OR.(nbondi == 2)) hdivn(nlci-1 , :     ,jk) = 0.e0      ! east IF ((nbondi == -1).OR.(nbondi == 2)) hdivn(2      , :     ,jk) = 0.e0      ! west IF ((nbondj ==  1).OR.(nbondj == 2)) hdivn(:      ,nlcj-1 ,jk) = 0.e0      ! north IF ((nbondj == -1).OR.(nbondj == 2)) hdivn(:      ,2      ,jk) = 0.e0      ! south endif #endif !                                             ! -------- ! relative vorticity                          !   rot
• trunk/NEMO/OPA_SRC/DYN/dynnxt.F90

 r367 USE lbclnk          ! lateral boundary condition (or mpp link) USE prtctl          ! Print control USE agrif_opa_update USE agrif_opa_interp IMPLICIT NONE !                                             ! =============== # endif # if defined key_AGRIF !                                             ! =============== END DO                                           !   End of slab !                                                ! =============== ! Update (ua,va) along open boundaries (only in the rigid-lid case) CALL Agrif_dyn( kt ) !                                                ! =============== DO jk = 1, jpkm1                                 ! Horizontal slab !                                             ! =============== # endif #endif ! Time filter and swap of dynamics arrays ENDIF #if defined key_AGRIF IF (.NOT.Agrif_Root())    CALL Agrif_Update_Dyn( kt ) #endif END SUBROUTINE dyn_nxt

• trunk/NEMO/OPA_SRC/OBC/obcdta.F90

 r367 WRITE(*,*) 'obc_dta: You should not have seen this print! error?', kt END SUBROUTINE obc_dta SUBROUTINE obc_dta_bt( kt, jn)             ! Dummy routine INTEGER, INTENT (in) :: kt, jn WRITE(*,*) 'obc_dta_bt: You should not have seen this print! error?', kt END SUBROUTINE obc_dta_bt #endif
• trunk/NEMO/OPA_SRC/SBC/flx_bulk_daily.h90

 r247 REAL(wp), DIMENSION(jpk) ::   zlev           ! ??? CHARACTER(len=45)  ::  & clname_n = 'tair_1d.nc',        & clname_c = 'hum_cloud_1m.nc',   & clname_x = 'rain_1m.nc',        & clname_n ,        & clname_c ,   & clname_x ,        & clname_w !!--------------------------------------------------------------------- clname_n = 'tair_1d.nc' clname_c = 'hum_cloud_1m.nc' clname_x = 'rain_1m.nc' clname_w = 'wspd_1d.nc' !!---------------------------------------------------------------------
• trunk/NEMO/OPA_SRC/SBC/flx_bulk_monthly.h90

 r319 zlon   , zlat                 ! ??? CHARACTER (len=32) ::   & clname = 'flx.nc'             ! flux filename clname            ! flux filename !!--------------------------------------------------------------------- clname = 'flx.nc' ! title, dimensions and tests #if defined key_AGRIF if ( .NOT. Agrif_Root() ) then clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) endif #endif CALL flinopen( clname, mig(1), nlci, mjg(1), nlcj,   & &          .FALSE., ipi, ipj, ipk, zlon, zlat, zlev,   & WRITE(numout,*) WRITE(numout,*) 'Clio mounth: ',nflx1,'  field: ',jm,' multiply by ',0.1 CALL prihre(flxdta(1,1,1,jm),jpi,jpj,1,jpi,20,1,jpj,10,.1,numout) CALL prihre(flxdta(:,:,1,jm),jpi,jpj,1,jpi,20,1,jpj,10,.1,numout) END DO ENDIF WRITE(numout,*) 'jpf =  ', jpf !C a u t i o n : information need for SX5NEC compilo bug WRITE(numout,*) 'Clio mounth: ',nflx11,'  field: ',jm,' multiply by ',0.1 CALL prihre(flxdta(1,1,1,jm),jpi,jpj,1,jpi,20,1,jpj,10,.1,numout) CALL prihre(flxdta(:,:,1,jm),jpi,jpj,1,jpi,20,1,jpj,10,.1,numout) WRITE(numout,*) END DO
• trunk/NEMO/OPA_SRC/SBC/flx_forced_daily.h90

 r247 ! Close/open file if new year IF( nyearflx /= 0 )   CALL flinclo(numflx) IF( nyearflx /= 0 .AND. kt /= nit000 )   CALL flinclo(numflx) iy = nyear IF(lwp) WRITE (numout,*) iy WRITE(clname,'("flx_1d.nc")') #if defined key_AGRIF if ( .NOT. Agrif_Root() ) then clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) endif #endif IF(lwp) WRITE (numout,*)' open flx file = ',clname CALL FLUSH(numout) WRITE(numout,*) WRITE(numout,*) ' Q * .1, day: ',ndastp CALL prihre(flxdta(1,1,1),jpi,jpj,1,jpi,20,1,jpj,10,.1,numout) CALL prihre(flxdta(:,:,1),jpi,jpj,1,jpi,20,1,jpj,10,.1,numout) WRITE(numout,*) WRITE(numout,*) ' QSR * .1, day: ',ndastp CALL prihre(flxdta(1,1,2),jpi,jpj,1,jpi,20,1,jpj,10,.1,numout) CALL prihre(flxdta(:,:,2),jpi,jpj,1,jpi,20,1,jpj,10,.1,numout) WRITE(numout,*) WRITE(numout,*) ' E-P *86400, day: ',ndastp CALL prihre(flxdta(1,1,3),jpi,jpj,1,jpi,20,1,jpj,10,86400.,numout) CALL prihre(flxdta(:,:,3),jpi,jpj,1,jpi,20,1,jpj,10,86400.,numout) WRITE(numout,*) ' ' ENDIF
• trunk/NEMO/OPA_SRC/SBC/flxrnf.F90

 r322 # endif CHARACTER (len=32) ::   & clname = 'runoff_1m_nomask'       ! monthly runoff filename clname                            ! monthly runoff filename INTEGER, PARAMETER :: jpmois = 12 INTEGER  ::   ipi, ipj, ipk          ! temporary integers zcoefr                            ! coeff of advection link to runoff !!---------------------------------------------------------------------- clname = 'runoff_1m_nomask'       ! monthly runoff filename IF( kt == nit000 ) THEN ! when reading the NetCDF file runoff_1m_nomask.nc IF( cp_cfg == 'orca' .AND. jp_cfg == 2 )   THEN DO jj = 1, jpj DO ji = 1, jpi IF( gphit(ji,jj) > 40 .AND. gphit(ji,jj) < 65 )   runoff(ji,jj) = 0.85 * runoff(ji,jj) END DO DO jj = 1, jpj DO ji = 1, jpi IF( gphit(ji,jj) > 40 .AND. gphit(ji,jj) < 65 )   runoff(ji,jj) = 0.85 * runoff(ji,jj) END DO END DO ENDIF
• trunk/NEMO/OPA_SRC/SBC/tau_forced_daily.h90

 r247 CHARACTER (len=34) ::   &      !!! * monthly climatology/interanual fields cl_taux = 'taux.nc',  & ! generic name of the i-component monthly NetCDF file cl_tauy = 'tauy.nc'     ! generic name of the j-component monthly NetCDF file cl_taux ,  & ! generic name of the i-component monthly NetCDF file cl_tauy      ! generic name of the j-component monthly NetCDF file !!---------------------------------------------------------------------- !!   OPA 9.0 , LOCEAN-IPSL (2005) REAL(wp) ::   zsecond, zdate0 !!--------------------------------------------------------------------- cl_taux = 'taux.nc' cl_tauy = 'tauy.nc' ! -------------- ! ENDIF ! title, dimensions and tests #if defined key_AGRIF if ( .NOT. Agrif_Root() ) then cl_taux = TRIM(Agrif_CFixed())//'_'//TRIM(cl_taux) endif #endif CALL flinopen( cl_taux, mig(1), nlci, mjg(1), nlcj,   &   ! taux on U-grid nstop = nstop + 1 ENDIF #if defined key_AGRIF if ( .NOT. Agrif_Root() ) then cl_tauy = TRIM(Agrif_CFixed())//'_'//TRIM(cl_tauy) endif #endif CALL flinopen( cl_tauy, mig(1), nlci, mjg(1), nlcj,   &   ! tauy on V-grid
• trunk/NEMO/OPA_SRC/SBC/tau_forced_monthly.h90

 r319 CHARACTER (len=34) ::   &      !!! * monthly climatology/interanual fields cl_taux = 'taux_1m.nc',  & ! generic name of the i-component monthly NetCDF file cl_tauy = 'tauy_1m.nc'     ! generic name of the j-component monthly NetCDF file cl_taux,  & ! generic name of the i-component monthly NetCDF file cl_tauy     ! generic name of the j-component monthly NetCDF file REAL(wp), DIMENSION(jpi,jpj,2) ::   & zxy          ! coefficient of the linear time interpolation !!--------------------------------------------------------------------- cl_taux = 'taux_1m.nc' cl_tauy = 'tauy_1m.nc' ! -------------- ! ! title, dimensions and tests #if defined key_AGRIF if ( .NOT. Agrif_Root() ) then cl_taux = TRIM(Agrif_CFixed())//'_'//TRIM(cl_taux) endif #endif CALL flinopen( cl_taux, mig(1), nlci, mjg(1), nlcj,   &   ! taux on U-grid nstop = nstop + 1 ENDIF #if defined key_AGRIF if ( .NOT. Agrif_Root() ) then cl_tauy = TRIM(Agrif_CFixed())//'_'//TRIM(cl_tauy) endif #endif CALL flinopen( cl_tauy, mig(1), nlci, mjg(1), nlcj,   &   ! tauy on V-grid .FALSE., ipi   , ipj, ipk   ,        & WRITE(numout,*) WRITE(numout,*) ' month: ', ntau1, '  taux: 1 multiply by ', 1. CALL prihre( taux_dta(1,1,1), jpi, jpj, 1, jpi, 20, 1, jpj, 10, 1., numout ) CALL prihre( taux_dta(:,:,1), jpi, jpj, 1, jpi, 20, 1, jpj, 10, 1., numout ) WRITE(numout,*) WRITE(numout,*) ' month: ', ntau2, '  tauy: 2 multiply by ', 1. CALL prihre( tauy_dta(1,1,2), jpi, jpj, 1, jpi, 20, 1, jpj, 10, 1., numout ) CALL prihre( tauy_dta(:,:,2), jpi, jpj, 1, jpi, 20, 1, jpj, 10, 1., numout ) ENDIF
• trunk/NEMO/OPA_SRC/SOL/sol_oce.F90

 r312 gccd             !: vector such that ca.gccd=a.d (ca-1=gcdprc) #if defined key_AGRIF REAL(wp), DIMENSION(jpi,jpj) :: laplacu, laplacv #endif #if defined key_feti !!----------------------------------------------------------------------
• trunk/NEMO/OPA_SRC/SOL/solmat.F90

 r359 !!cr  ENDIF #endif #if defined key_AGRIF IF (.NOT.AGRIF_ROOT()) THEN IF ( (nbondi == -1)  .OR. (nbondi == 2) ) bmask(2,:)=0. IF ( (nbondi ==  1)  .OR. (nbondi == 2) ) bmask(nlci-1,:)=0. IF ( (nbondj == -1)  .OR. (nbondj == 2) ) bmask(:,2)=0. IF ( (nbondj ==  1)  .OR. (nbondj == 2) ) bmask(:,nlcj-1)=0. DO jj = 2, jpjm1 DO ji = 2, jpim1 zcoef = z2dt * z2dt * grav * rnu * bmask(ji,jj) !  south coefficient IF( ((nbondj == -1)  .OR. (nbondj == 2)) .AND. ( jj == 3 ) ) THEN zcoefs = -zcoef * hv(ji,jj-1) * e1v(ji,jj-1)/e2v(ji,jj-1)*(1.-vmask(ji,jj-1,1)) ELSE zcoefs = -zcoef * hv(ji,jj-1) * e1v(ji,jj-1)/e2v(ji,jj-1) END IF gcp(ji,jj,1) = zcoefs !  west coefficient IF( ( (nbondi == -1)  .OR. (nbondi == 2) ) .AND. ( ji == 3 )  ) THEN zcoefw = -zcoef * hu(ji-1,jj) * e2u(ji-1,jj)/e1u(ji-1,jj)*(1.-umask(ji-1,jj,1)) ELSE zcoefw = -zcoef * hu(ji-1,jj) * e2u(ji-1,jj)/e1u(ji-1,jj) END IF gcp(ji,jj,2) = zcoefw !   east coefficient IF( ((nbondi == 1)  .OR. (nbondi == 2)) .AND. ( ji == nlci-2 ) ) THEN zcoefe = -zcoef * hu(ji,jj) * e2u(ji,jj)/e1u(ji,jj)*(1.-umask(ji,jj,1)) ELSE zcoefe = -zcoef * hu(ji,jj) * e2u(ji,jj)/e1u(ji,jj) END IF gcp(ji,jj,3) = zcoefe !   north coefficient IF( ((nbondj == 1)  .OR. (nbondj == 2)) .AND. ( jj == nlcj-2 ) ) THEN zcoefn = -zcoef * hv(ji,jj) * e1v(ji,jj)/e2v(ji,jj)*(1.-vmask(ji,jj,1)) ELSE zcoefn = -zcoef * hv(ji,jj) * e1v(ji,jj)/e2v(ji,jj) END IF gcp(ji,jj,4) = zcoefn ! diagonal coefficient gcdmat(ji,jj) = e1t(ji,jj)*e2t(ji,jj)*bmask(ji,jj) & - zcoefs -zcoefw -zcoefe -zcoefn END DO END DO ENDIF #endif
• trunk/NEMO/OPA_SRC/SOL/solver.F90

 r367 !! * Local declarations INTEGER :: ji, jj   ! dummy loop indices CHARACTER(len=80) :: clname NAMELIST/namsol/ nsolv, nsol_arp, nmin, nmax, nmod, eps, resmax, sor, epsisl, nmisl, rnu ! open elliptic solver statistics file CALL ctlopn( numsol, 'solver.stat', 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & clname = 'solver.stat' CALL ctlopn( numsol, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL',   & 1, numout, lwp, 1 )
• trunk/NEMO/OPA_SRC/TRA/trabbc.F90

 r352 ! read the geothermal fluxes in mW/m2 clname = 'geothermal_heating' #if defined key_AGRIF if ( .NOT. Agrif_Root() ) then clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) endif #endif itime = 1 zlamt(:,:) = 0. CALL restini( clname, jpidta, jpjdta, zlamt, zphit, 1, zdept , 'NONE',   & &          itime, zdate0, zdt, inum, domain_id=nidom ) CALL restget( inum, 'heatflow', jpidta, jpjdta, 1, 0, .FALSE., zdta ) CALL restget( inum, 'heatflow', jpidta, jpjdta, 1, itime, .FALSE., zdta ) DO jj = 1, nlcj DO ji = 1, nlci

 r352 !! * Shared module variables LOGICAL , PUBLIC, PARAMETER ::   lk_tradmp = .TRUE.    !: internal damping flag LOGICAL , PUBLIC & #if ! defined key_AGRIF , PARAMETER  & #endif ::   lk_tradmp = .TRUE.    !: internal damping flag REAL(wp), PUBLIC, DIMENSION(jpi,jpj,jpk) ::   &
• trunk/NEMO/OPA_SRC/TRA/tranxt.F90

 r258 USE obctra          ! open boundary condition (obc_tra routine) USE prtctl          ! Print control USE agrif_opa_update USE agrif_opa_interp IMPLICIT NONE !                                             ! =============== #endif #if defined key_AGRIF !                                             ! =============== END DO                                           !   End of slab !                                                ! =============== ! Update tracers on open boundaries. CALL Agrif_tra( kt ) !                                                ! =============== DO jk = 1, jpkm1                                 ! Horizontal slab !                                             ! =============== #endif &         tab3d_2=sn, clinfo2=' Sn: ', mask2=tmask) ENDIF #if defined key_AGRIF IF (.NOT.Agrif_Root())    CALL Agrif_Update_Tra( kt ) #endif END SUBROUTINE tra_nxt
• trunk/NEMO/OPA_SRC/istate.F90

 r359 itime  = 0 clname = 'eel.initemp' #if defined key_AGRIF if ( .NOT. Agrif_Root() ) then clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) endif #endif llog   = .FALSE. ilev   = jpk
• trunk/NEMO/OPA_SRC/lib_isml.f90

 r247 DIMENSION X(I) ISAMAX = 0 XMIN = -1e+50 XMIN = -huge(1.) DO N = 1, I IF(ABS(X(N)) > XMIN ) THEN
• trunk/NEMO/OPA_SRC/lib_mpp.F90

 r311 !!  MPI  variable definition !! !! ========================= !! !\$AGRIF_DO_NOT_TREAT #  include !\$AGRIF_END_DO_NOT_TREAT INTEGER ::   & CASE ( 'S' )                ! Standard mpi send (blocking) WRITE(numout,*) '           Standard blocking mpi send (send)' #if defined key_AGRIF IF ( Agrif_Root() ) THEN #endif CALL mpi_init( ierr ) #if defined key_AGRIF ENDIF #endif CASE ( 'B' )                ! Buffer mpi send (blocking) WRITE(numout,*) '           Buffer blocking mpi send (bsend)' #if defined key_AGRIF IF ( Agrif_Root() ) THEN #endif CALL mpi_init_opa( ierr ) #if defined key_AGRIF ENDIF #endif CASE ( 'I' )                ! Immediate mpi send (non-blocking send) WRITE(numout,*) '           Immediate non-blocking send (isend)' l_isend = .TRUE. #if defined key_AGRIF IF ( Agrif_Root() ) THEN #endif CALL mpi_init( ierr ) #if defined key_AGRIF ENDIF #endif CASE DEFAULT WRITE(numout,cform_err) SUBROUTINE mpi_init_opa(code) IMPLICIT NONE !\$AGRIF_DO_NOT_TREAT #     include !\$AGRIF_END_DO_NOT_TREAT INTEGER                                 :: code,rang
• trunk/NEMO/OPA_SRC/mppini.F90

 r352 iimppt, ijmppt, ilcit, ilcjt       ! temporary workspace REAL(wp) ::   zidom, zjdom            ! temporary scalars CHARACTER(len=80) :: clname !!---------------------------------------------------------------------- IF (lwp) THEN inum = 11 OPEN(inum,FILE='layout.dat') clname = 'layout.dat' CALL ctlopn(inum, clname, 'UNKNOWN', 'FORMATTED', 'SEQUENTIAL', 1, numout, lwp, 0) WRITE(inum,'(6i8)') jpnij,jpi,jpj,jpk,jpiglo,jpjglo WRITE(inum,'(a)') 'NAREA nlci nlcj nldi nldj nlei nlej nimpp njmpp'
• trunk/NEMO/OPA_SRC/mppini_2.h90

 r290 clvar = 'Bathy_level' ENDIF #if defined key_AGRIF if ( .NOT. Agrif_Root() ) then clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) endif #endif INQUIRE( FILE=clname, EXIST=llbon ) IF( ij == jpnj ) npolj = 5 ENDIF ! Prepare NetCDF output file (if necessary) CALL mpp_init_ioipsl
• trunk/NEMO/OPA_SRC/opa.F90

 r367 !! * Routine accessibility PUBLIC opa_model      ! called by model.F90 PUBLIC opa_init !!---------------------------------------------------------------------- !!  OPA 9.0 , LOCEAN-IPSL (2005) !! * Local declarations INTEGER ::   istp       ! time step index #if defined key_coupled INTEGER ::   itro, istp0        ! ??? #endif CHARACTER (len=64) ::        & cform_aaa="( /, 'AAAAAAAA', / ) "     ! flag for output listing CHARACTER (len=28) :: file_out !!---------------------------------------------------------------------- !!---------------------------------------------------------------------- #if defined key_AGRIF Call Agrif_Init_Grids() #endif ! Initializations ! =============== file_out = 'ocean.output' ! open listing and namelist units IF ( numout /= 0 .AND. numout /= 6 ) THEN OPEN( UNIT=numout, FILE=TRIM(file_out), FORM='FORMATTED' ) ENDIF OPEN( UNIT=numnam, FILE='namelist', FORM='FORMATTED', STATUS='OLD' ) WRITE(numout,*) WRITE(numout,*) '                 L O D Y C - I P S L' WRITE(numout,*) '                     O P A model' WRITE(numout,*) '            Ocean General Circulation Model' WRITE(numout,*) '               version OPA 9.0  (2005) ' WRITE(numout,*) WRITE(numout,*) ! Nodes selection narea = mynode() narea = narea + 1    ! mynode return the rank of proc (0 --> jpnij -1 ) lwp   = narea == 1 !                                     ! ============================== ! !                                     !  Model general initialization  ! !                                     ! ============================== ! IF(lwp) WRITE(numout,cform_aaa)       ! Flag AAAAAAA ! Domain decomposition IF( jpni*jpnj == jpnij ) THEN CALL mpp_init                          ! standard cutting out ELSE CALL mpp_init2                         ! eliminate land processors ENDIF CALL phy_cst                          ! Physical constants CALL dom_cfg                          ! Domain configuration CALL dom_init                         ! Domain IF( ln_ctl )      CALL prt_ctl_init   ! Print control IF( lk_cfg_1d )   CALL fcorio_1d      ! redefine Coriolis at T-point IF( lk_obc    )   CALL obc_init       ! Open boundaries IF( lk_dynspg_flt .OR. lk_dynspg_rl ) THEN CALL solver_init                   ! Elliptic solver ENDIF CALL day( nit000 )                    ! Calendar CALL istate_init                      ! ocean initial state (Dynamics and tracers) !!add CALL eos( tb, sb, rhd, rhop )        ! before potential and in situ densities CALL bn2( tb, sb, rn2 )              ! before Brunt-Vaisala frequency IF( lk_zps .AND. .NOT. lk_cfg_1d )   & &             CALL zps_hde( nit000, tb, sb, rhd,  &  ! Partial steps: before Horizontal DErivative gtu, gsu, gru, &  ! of t, s, rd at the bottom ocean level gtv, gsv, grv ) !!add CALL oc_fz_pt                         ! Surface freezing point #if defined key_ice_lim CALL ice_init                         ! Sea ice model #endif !                                     ! Ocean scheme CALL opa_flg                              ! Choice of algorithms !                                     ! Ocean physics CALL tra_qsr_init                         ! Solar radiation penetration CALL ldf_dyn_init                         ! Lateral ocean momentum physics CALL ldf_tra_init                         ! Lateral ocean tracer physics CALL zdf_init                             ! Vertical ocean physics !                                     ! Ocean trends ! Control parameters IF( lk_trdtra .OR. lk_trdmld )   l_trdtra = .TRUE. IF( lk_trddyn .OR. lk_trdvor )   l_trddyn = .TRUE. IF( lk_trddyn .OR. lk_trdtra )   & &            CALL trd_icp_init         ! active tracers and/or momentum IF( lk_trdmld ) CALL trd_mld_init         ! mixed layer IF( lk_trdvor ) CALL trd_vor_init         ! vorticity #if defined key_passivetrc CALL ini_trc                           ! Passive tracers #endif #if defined key_coupled itro  = nitend - nit000 + 1           ! Coupled istp0 = NINT( rdt ) CALL cpl_init( itro, nexco, istp0 )   ! Signal processing and process id exchange #endif CALL flx_fwb_init                     ! FreshWater Budget correction CALL dia_ptr_init                     ! Poleward TRansports initialization !                                     ! =============== ! !                                     !  time stepping  ! !                                     ! =============== ! IF(lwp) WRITE(numout,cform_aaa)       ! Flag AAAAAAA Call opa_init  ! Initializations IF( lk_cfg_1d  )  THEN CALL init_1d istp = nit000 DO WHILE ( istp <= nitend .AND. nstop == 0 ) #if defined key_AGRIF CALL Agrif_Step(stp_1d) #else CALL stp_1d( istp ) #endif istp = istp + 1 END DO istp = nit000 DO WHILE ( istp <= nitend .AND. nstop == 0 ) #if defined key_AGRIF CALL Agrif_Step(stp) #else CALL stp( istp ) #endif istp = istp + 1 END DO !!====================================================================== SUBROUTINE opa_init !!---------------------------------------------------------------------- !!                     ***  ROUTINE opa_init  *** !! !! ** Purpose :   initialization of the opa model !! !! ** Method  : !! !! References : !!---------------------------------------------------------------------- !! * Local declarations #if defined key_coupled INTEGER ::   itro, istp0        ! ??? #endif CHARACTER (len=64) ::        & cform_aaa="( /, 'AAAAAAAA', / ) "     ! flag for output listing CHARACTER (len=20) :: namelistname CHARACTER (len=28) :: file_out !!---------------------------------------------------------------------- ! Initializations ! =============== file_out = 'ocean.output' ! open listing and namelist units IF ( numout /= 0 .AND. numout /= 6 ) THEN CALL ctlopn(numout,file_out,'UNKNOWN', 'FORMATTED',   & 'SEQUENTIAL',1,numout,.FALSE.,1) !         OPEN( UNIT=numout, FILE=TRIM(file_out), FORM='FORMATTED' ) ENDIF namelistname = 'namelist' CALL ctlopn(numnam,namelistname,'OLD', 'FORMATTED', 'SEQUENTIAL',   & 1,numout,.FALSE.,1) !!!!      OPEN( UNIT=numnam, FILE='namelist', FORM='FORMATTED', STATUS='OLD' ) WRITE(numout,*) WRITE(numout,*) '                 L O D Y C - I P S L' WRITE(numout,*) '                     O P A model' WRITE(numout,*) '            Ocean General Circulation Model' WRITE(numout,*) '               version OPA 9.0  (2005) ' WRITE(numout,*) WRITE(numout,*) ! Nodes selection narea = mynode() narea = narea + 1    ! mynode return the rank of proc (0 --> jpnij -1 ) lwp   = narea == 1 !                                     ! ============================== ! !                                     !  Model general initialization  ! !                                     ! ============================== ! IF(lwp) WRITE(numout,cform_aaa)       ! Flag AAAAAAA ! Domain decomposition IF( jpni*jpnj == jpnij ) THEN CALL mpp_init                          ! standard cutting out ELSE CALL mpp_init2                         ! eliminate land processors ENDIF CALL phy_cst                          ! Physical constants CALL dom_cfg                          ! Domain configuration CALL dom_init                         ! Domain IF( ln_ctl )      CALL prt_ctl_init   ! Print control IF( lk_cfg_1d )   CALL fcorio_1d      ! redefine Coriolis at T-point IF( lk_obc    )   CALL obc_init       ! Open boundaries IF( lk_dynspg_flt .OR. lk_dynspg_rl ) THEN CALL solver_init                      ! Elliptic solver ENDIF CALL day( nit000 )                    ! Calendar CALL istate_init                      ! ocean initial state (Dynamics and tracers) !!add CALL eos( tb, sb, rhd, rhop )        ! before potential and in situ densities CALL bn2( tb, sb, rn2 )              ! before Brunt-Vaisala frequency IF( lk_zps .AND. .NOT. lk_cfg_1d )   & &             CALL zps_hde( nit000, tb, sb, rhd,  &  ! Partial steps: before Horizontal DErivative gtu, gsu, gru, &  ! of t, s, rd at the bottom ocean level gtv, gsv, grv ) !!add CALL oc_fz_pt                         ! Surface freezing point #if defined key_ice_lim CALL ice_init                         ! Sea ice model #endif !                                     ! Ocean scheme CALL opa_flg                              ! Choice of algorithms !                                     ! Ocean physics CALL tra_qsr_init                         ! Solar radiation penetration CALL ldf_dyn_init                         ! Lateral ocean momentum physics CALL ldf_tra_init                         ! Lateral ocean tracer physics CALL zdf_init                             ! Vertical ocean physics !                                     ! Ocean trends ! Control parameters IF( lk_trdtra .OR. lk_trdmld )   l_trdtra = .TRUE. IF( lk_trddyn .OR. lk_trdvor )   l_trddyn = .TRUE. IF( lk_trddyn .OR. lk_trdtra )   & &            CALL trd_icp_init         ! active tracers and/or momentum IF( lk_trdmld ) CALL trd_mld_init         ! mixed layer IF( lk_trdvor ) CALL trd_vor_init         ! vorticity #if defined key_passivetrc CALL ini_trc                           ! Passive tracers #endif #if defined key_coupled itro  = nitend - nit000 + 1           ! Coupled istp0 = NINT( rdt ) CALL cpl_init( itro, nexco, istp0 )   ! Signal processing and process id exchange #endif CALL flx_fwb_init                     ! FreshWater Budget correction CALL dia_ptr_init                     ! Poleward TRansports initialization !                                     ! =============== ! !                                     !  time stepping  ! !                                     ! =============== ! IF(lwp) WRITE(numout,cform_aaa)       ! Flag AAAAAAA IF( lk_cfg_1d  )  THEN CALL init_1d ENDIF END SUBROUTINE opa_init !!====================================================================== END MODULE opa
• trunk/NEMO/OPA_SRC/par_EEL_R2.h90

 r247 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt !!---------------------------------------------------------------------- CHARACTER (len=16), PARAMETER ::   &  !: CHARACTER (len=16)      & #if !defined key_AGRIF , PARAMETER  & #endif ::    & cp_cfg = "eel"            !: name of the configuration INTEGER, PARAMETER ::     &  !: INTEGER     & #if !defined key_AGRIF , PARAMETER  & #endif :: & jp_cfg = 2   ,         &  !: resolution of the configuration (km)
• trunk/NEMO/OPA_SRC/par_EEL_R5.h90

 r247 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt !!---------------------------------------------------------------------- CHARACTER (len=16), PARAMETER ::   &  !: CHARACTER (len=16)      & #if !defined key_AGRIF , PARAMETER  & #endif ::    & INTEGER     & #if !defined key_AGRIF , PARAMETER  & #endif :: & cp_cfg = "eel"            !: name of the configuration INTEGER, PARAMETER ::     &  !: jp_cfg = 5      ,      &  !: resolution of the configuration (km)
• trunk/NEMO/OPA_SRC/par_EEL_R6.h90

 r247 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt !!---------------------------------------------------------------------- CHARACTER (len=16), PARAMETER ::   &  !: CHARACTER (len=16)      & #if !defined key_AGRIF , PARAMETER  & #endif ::    & cp_cfg = "eel"            !: name of the configuration INTEGER, PARAMETER ::     &  !: INTEGER     & #if !defined key_AGRIF , PARAMETER  & #endif ::     & jp_cfg = 6      ,      &  !: resolution of the configuration (km) !   The mercator grid starts only approximately at gphi0 because !   of the constraint that the equator be a T point. REAL(wp) ,PARAMETER ::     &  !: REAL(wp) & #if !defined key_AGRIF , PARAMETER  & #endif ::     &  !: ppglam0  =    0.0_wp,   &  !: longitude of first raw and column T-point (jphgr_msh = 1) ppgphi0  =   35.0_wp,   &  !: latitude  of first raw and column T-point (jphgr_msh = 1)
• trunk/NEMO/OPA_SRC/par_GYRE.h90

 r247 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt !!---------------------------------------------------------------------- CHARACTER (len=16), PARAMETER ::   &  !: CHARACTER (len=16)      & #if !defined key_AGRIF , PARAMETER  & #endif ::    & cp_cfg = "gyre"           !: name of the configuration INTEGER, PARAMETER ::     &  !: INTEGER     & #if !defined key_AGRIF , PARAMETER  & #endif :: & jp_cfg =  1   ,        &  !:
• trunk/NEMO/OPA_SRC/par_ORCA_R025.h90

 r248 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt !!---------------------------------------------------------------------- CHARACTER (len=16), PARAMETER ::   & CHARACTER (len=16)      & #if !defined key_AGRIF , PARAMETER  & #endif ::    & cp_cfg = "orca"           !: name of the configuration INTEGER, PARAMETER ::     & INTEGER     & #if !defined key_AGRIF , PARAMETER  & #endif :: & jp_cfg = 025  ,        &  !: resolution of the configuration (degrees) ! Original data size
• trunk/NEMO/OPA_SRC/par_ORCA_R05.h90

 r359 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt !!---------------------------------------------------------------------- CHARACTER (len=16), PARAMETER ::   & CHARACTER (len=16)      & #if !defined key_AGRIF , PARAMETER  & #endif ::    & cp_cfg = "orca"           !: name of the configuration INTEGER, PARAMETER ::     & INTEGER     & #if !defined key_AGRIF , PARAMETER  & #endif :: & jp_cfg = 05  ,         &  !: resolution of the configuration (degrees) #if defined key_antarctic INTEGER, PARAMETER ::     & ! zoom domain size       !!! * antarctic zoom * ! zoom domain size       !!! *  antarctic zoom  * INTEGER     & #if !defined key_AGRIF , PARAMETER  & #endif :: & jpiglo  = jpidta,      &  !: 1st dimension of global domain --> i jpjglo  = 187   ,      &  !: 2nd     "                 "    --> j #elif defined key_arctic INTEGER, PARAMETER ::     & ! zoom domain size       !!! *  arctic zoom  * INTEGER    & #if !defined key_AGRIF , PARAMETER  & #endif :: & ! zoom domain size       !!! *  arctic zoom  * jpiglo  = 562,         &  !: 1st dimension of global domain --> i #else INTEGER, PARAMETER ::     & ! global domain size     !!! * full domain * ! global domain size     !!! *  global domain  * INTEGER    & #if !defined key_AGRIF , PARAMETER  & #endif :: & jpiglo  = jpidta,      &  !: 1st dimension of global domain --> i jpjglo  = jpjdta,      &  !: 2nd     "                 "    --> j
• trunk/NEMO/OPA_SRC/par_ORCA_R2.h90

 r359 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt !!---------------------------------------------------------------------- CHARACTER (len=16), PARAMETER ::    & CHARACTER (len=16)      & #if !defined key_AGRIF , PARAMETER  & #endif ::    & cp_cfg = "orca"           !: name of the configuration INTEGER, PARAMETER ::     & INTEGER     & #if !defined key_AGRIF , PARAMETER  & #endif :: & jp_cfg = 2,            &  !: resolution of the configuration (degrees) #if defined key_antarctic ! zoom domain size       !!! *  antarctic zoom  * INTEGER, PARAMETER ::     & INTEGER     & #if !defined key_AGRIF , PARAMETER  & #endif :: & jpiglo  = jpidta,      &  !: 1st dimension of global domain --> i jpjglo  = 50,          &  !: 2nd    "                  "    --> j #elif defined key_arctic ! zoom domain size       !!! *  arctic zoom  * INTEGER, PARAMETER ::     & INTEGER    & #if !defined key_AGRIF , PARAMETER  & #endif :: & jpiglo  = 142   ,      &  !: 1st dimension of global domain --> i jpjglo  = jpjdta-97+1, &  !: 2nd    "                  "    --> j #elif defined key_cfg_1d ! global domain size     !!! *  global domain  * INTEGER, PARAMETER ::     & INTEGER    & #if !defined key_AGRIF , PARAMETER  & #endif :: & jpiglo  = 3     ,      &  !: 1st dimension of global domain --> i jpjglo  = 3     ,      &  !: 2nd    "                  "    --> j #else ! global domain size     !!! *  global domain  * INTEGER, PARAMETER ::     & INTEGER    & #if !defined key_AGRIF , PARAMETER  & #endif :: & jpiglo  = jpidta,      &  !: 1st dimension of global domain --> i jpjglo  = jpjdta,      &  !: 2nd    "                  "    --> j jpisl   =  18   ,      &  !: number of islands jpnisl  = 800             !: maximum number of points per island #endif
• trunk/NEMO/OPA_SRC/par_ORCA_R4.h90

 r247 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt !!---------------------------------------------------------------------- CHARACTER (len=16), PARAMETER ::    & cp_cfg = "orca"           !: name of the configuration INTEGER, PARAMETER ::     & CHARACTER (len=16)      & #if !defined key_AGRIF , PARAMETER  & #endif ::    & cp_cfg = "orca"           !: name of the configuration INTEGER     & #if !defined key_AGRIF , PARAMETER  & #endif :: & jp_cfg = 4      ,      &  !: resolution of the configuration (degrees) ! Original data size
• trunk/NEMO/OPA_SRC/par_oce.F90

 r359 !! Domain Matrix size !!--------------------------------------------------------------------- INTEGER, PUBLIC, PARAMETER ::   &  !: INTEGER  &  !: #if !defined key_AGRIF ,PARAMETER  & #endif :: & jpi = ( jpiglo-2*jpreci + (jpni-1) ) / jpni + 2*jpreci ,   &  !: first  dimension jpj = ( jpjglo-2*jprecj + (jpnj-1) ) / jpnj + 2*jprecj ,   &  !: second dimension jpij  = jpi*jpj                                               !:  jpi x jpj #if defined key_AGRIF !!--------------------------------------------------------------------- !! Agrif variables !!--------------------------------------------------------------------- INTEGER, PUBLIC, PARAMETER :: nbghostcells = 1 INTEGER, PUBLIC :: nbcellsx = jpiglo - 2 - 2*nbghostcells INTEGER, PUBLIC :: nbcellsy = jpjglo - 2 - 2*nbghostcells #endif !!--------------------------------------------------------------------- !! Optimization/control flags
• trunk/NEMO/OPA_SRC/restart.F90

 r367 REAL(wp), DIMENSION(10) ::   zinfo(10) REAL(wp), DIMENSION(jpi,jpj) :: ztab #if defined key_AGRIF Integer :: knum #endif !!---------------------------------------------------------------------- INQUIRE( FILE=crestart, EXIST=llbon ) IF(llbon) THEN #if defined key_AGRIF knum =Agrif_Get_Unit() OPEN( UNIT=knum, FILE=crestart, STATUS='old' ) CLOSE( knum, STATUS='delete' ) #else OPEN( UNIT=numwrs, FILE=crestart, STATUS='old' ) CLOSE( numwrs, STATUS='delete' ) #endif ENDIF LOGICAL ::   llog CHARACTER (len=8 ) ::   clvnames(50) CHARACTER (len=32) ::   clname = 'restart' CHARACTER (len=32) ::   clname INTEGER  ::   & itime, ibvar,     &  ! !!  OPA 8.5, LODYC-IPSL (2002) !!---------------------------------------------------------------------- clname = 'restart' #if defined key_AGRIF inum = Agrif_Get_Unit() If(.NOT. Agrif_root() ) clname = TRIM(Agrif_CFixed())//'_'//TRIM(clname) #endif IF(lwp) WRITE(numout,*)