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/restart_dimg.h90 – 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/restart_dimg.h90

    r359 r389  
    6262       irecl8= jpi * jpj * wp 
    6363       WRITE(clres,'(a,i3.3)') 'restart.output.',narea 
     64#if defined key_AGRIF  
     65       inum = Agrif_Get_Unit()       
     66       If(.NOT. Agrif_root() ) clres = TRIM(Agrif_CFixed())//'_'//TRIM(clres) 
     67#endif  
    6468       OPEN(inum,FILE=clres,FORM='UNFORMATTED', ACCESS='DIRECT', RECL=irecl8 ) 
    6569 
     
    166170 
    167171       ! TKE arrays 
     172 
    168173#if defined key_zdftke 
    169174         DO jk = 1, jpk 
    170             WRITE(inum,REC=irec) en(:,:,jk)   ;  irec = irec + 1  
     175            WRITE(inum,REC=irec) en(:,:,jk) ; irec = irec + 1  
    171176         END DO 
    172177#endif 
     
    174179#if defined key_ice_lim 
    175180          zfice(1) = FLOAT( nfice )                                      ! Louvain La Neuve Sea Ice Model 
    176           WRITE(inum,REC=irec) zfice(:)      ;  irec = irec + 1 
    177           WRITE(inum,REC=irec) sst_io(:,:)   ;  irec = irec + 1 
    178           WRITE(inum,REC=irec) sss_io(:,:)   ;  irec = irec + 1 
    179           WRITE(inum,REC=irec) u_io  (:,:)   ;  irec = irec + 1 
    180           WRITE(inum,REC=irec) v_io  (:,:)   ;  irec = irec + 1 
     181          WRITE(inum,REC=irec) zfice(:)     ; irec = irec + 1 
     182          WRITE(inum,REC=irec) sst_io(:,:)  ; irec = irec + 1 
     183          WRITE(inum,REC=irec) sss_io(:,:)  ; irec = irec + 1 
     184          WRITE(inum,REC=irec) u_io  (:,:)  ; irec = irec + 1 
     185          WRITE(inum,REC=irec) v_io  (:,:)  ; irec = irec + 1 
    181186#    if defined key_coupled 
    182           WRITE(inum,REC=irec) alb_ice(:,:)  ;   irec = irec + 1 
     187          WRITE(inum,REC=irec) alb_ice(:,:)  ; irec = irec + 1 
    183188#    endif 
    184189#endif 
    185190# if defined key_flx_bulk_monthly || defined key_flx_bulk_daily 
    186191          zfblk(1) = FLOAT( nfbulk )                                 ! Bulk 
    187           WRITE(inum,REC=irec) zfblk(:)   ;   irec = irec + 1 
    188           WRITE(inum,REC=irec) gsst(:,:)  ;   irec = irec + 1 
     192          WRITE(inum,REC=irec) zfblk(:)   ; irec = irec + 1 
     193          WRITE(inum,REC=irec) gsst(:,:)  ; irec = irec + 1 
    189194# endif 
    190195 
     
    229234    LOGICAL   :: lstop 
    230235 
    231     REAL(wp), DIMENSION( 1) ::   zfice, zfblk   ! used only in case of ice & bulk 
     236      REAL(wp), DIMENSION( 1) ::   zfice, zfblk   ! used only in case of ice & bulk 
    232237    !!---------------------------------------------------------------------- 
    233238 
     
    268273    ! Open direct access file, with reclength for 2D wp fields 
    269274    WRITE(clres,'(a,i3.3)') 'restart.',narea 
    270  
     275#if defined key_AGRIF        
     276    inum = Agrif_Get_Unit() 
     277    If(.NOT. Agrif_root() ) clres = TRIM(Agrif_CFixed())//'_'//TRIM(clres) 
     278#endif 
    271279    OPEN(inum,FILE=clres,FORM='UNFORMATTED', ACCESS='DIRECT', RECL=8 ) 
    272280    READ(inum,REC=1)irecl8 
     
    278286    ! -------------- 
    279287 
    280     READ(inum,REC=1) irecl8, ino1, it1, isor1, ipcg1, itke1,   & 
    281        &             iice1, ibulk1, ios1, ios2, ios3, ios4,    & 
    282        &             idast1, adatrj0,  ipi,ipj,ipk,ipni,ipnj,ipnij,iarea 
     288 
     289    READ(inum,REC=1) irecl8, ino1, it1, isor1, ipcg1, itke1, & 
     290     &  iice1, ibulk1, ios1, ios2, ios3, ios4, & 
     291     &  idast1, adatrj0,  ipi,ipj,ipk,ipni,ipnj,ipnij,iarea 
    283292 
    284293    ! Performs checks on the file 
     
    416425 
    417426    ! TKE arrays 
     427 
    418428#if defined key_zdftke 
    419429    IF ( itke1 == 1 ) THEN 
     
    433443    ! check if it was in the previous run 
    434444    IF ( ios1 == 1 ) THEN 
    435        READ(inum,REC=irec) zfice(:)      ;  irec = irec + 1 
    436        READ(inum,REC=irec) sst_io(:,:)   ;  irec = irec + 1 
    437        READ(inum,REC=irec) sss_io(:,:)   ;  irec = irec + 1 
    438        READ(inum,REC=irec) u_io  (:,:)   ;  irec = irec + 1 
    439        READ(inum,REC=irec) v_io  (:,:)   ;  irec = irec + 1 
    440 # if defined key_coupled 
    441        READ(inum,REC=irec) alb_ice(:,:)   ;  irec = irec + 1 
    442 # endif 
     445       READ(inum,REC=irec) zfice(:)    ; irec = irec + 1 
     446       READ(inum,REC=irec) sst_io(:,:) ; irec = irec + 1 
     447       READ(inum,REC=irec) sss_io(:,:) ; irec = irec + 1 
     448       READ(inum,REC=irec) u_io  (:,:) ; irec = irec + 1 
     449       READ(inum,REC=irec) v_io  (:,:) ; irec = irec + 1 
     450#  if defined key_coupled 
     451       READ(inum,REC=irec) alb_ice(:,:) ; irec = irec + 1 
     452#  endif 
    443453    ENDIF 
    444454    IF ( zfice(1) /= FLOAT(nfice) .OR. ios1 == 0 ) THEN 
     
    454464            END DO 
    455465         END DO 
    456 # if defined key_coupled 
     466#    if defined key_coupled 
    457467         alb_ice(:,:) = 0.8 * tmask(:,:,1) 
    458 # endif 
     468#    endif 
    459469    ENDIF 
    460470#endif 
     
    489499    ENDIF 
    490500 
     501 
    491502  END SUBROUTINE rst_read 
Note: See TracChangeset for help on using the changeset viewer.