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 631 for trunk/NEMO/OPA_SRC – NEMO

Changeset 631 for trunk/NEMO/OPA_SRC


Ignore:
Timestamp:
2007-03-02T17:40:54+01:00 (17 years ago)
Author:
opalod
Message:

nemo_v2_update_007 : CT : add the logical namelist ln_dimgnnn to be able to choose (in DIMG) between:

  • 1 output file for all proc.
  • 1 output file per proc.
Location:
trunk/NEMO/OPA_SRC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DIA/diadimg.F90

    r460 r631  
    6464    REAL(sp),DIMENSION(jpk)     :: z4dep       ! vertical level (sp) 
    6565 
    66     CHARACTER(LEN=4) :: clver='@!01' 
     66    CHARACTER(LEN=80) :: clname                ! name of file in case of dimgnnn 
     67    CHARACTER(LEN=4) :: clver='@!01'           ! dimg string identifier 
    6768    !!--------------------------------------------------------------------------- 
    6869 
     
    101102    END SELECT 
    102103 
    103     !! * Open file 
    104     OPEN (inum, FILE=cd_name, FORM='UNFORMATTED', ACCESS='DIRECT', RECL=irecl4 ) 
     104    IF ( ln_dimgnnn  ) THEN 
     105       WRITE(clname,'(a,a,i3.3)') TRIM(cd_name),'.',narea 
     106       OPEN (inum, FILE=clname, FORM='UNFORMATTED', ACCESS='DIRECT', RECL=irecl4 ) 
     107       WRITE(inum,REC=1 ) clver, cd_text, irecl4, & 
     108            &     jpi,jpj, klev, 1 , 1 ,            & 
     109            &     zwest, zsouth, zdx, zdy, zspval,  & 
     110            &     z4dep(1:klev),                    & 
     111            &     ztimm,                            & 
     112            &     narea, jpnij,jpiglo,jpjglo,jpizoom, jpjzoom,    &    ! extension to dimg for mpp output 
     113            &     nlcit,nlcjt, nldit, nldjt, nleit, nlejt, nimppt, njmppt  ! 
    105114 
    106     !! * Write header on record #1 
    107     IF(lwp) WRITE(inum,REC=1 ) clver, cd_text, irecl4, & 
    108          &     jpi,jpj, klev*jpnij, 1 , 1 ,            & 
    109          &     zwest, zsouth, zdx, zdy, zspval,  & 
    110          &     (z4dep(1:klev),jn=1,jpnij),       & 
    111          &     ztimm,                            & 
    112          &     narea, jpnij,jpiglo,jpjglo,jpizoom, jpjzoom,    &    ! extension to dimg for mpp output 
    113          &     nlcit,nlcjt, nldit, nldjt, nleit, nlejt, nimppt, njmppt  ! 
     115       !! * Write klev levels 
     116       IF ( cd_type == 'I' ) THEN 
    114117 
    115     !! * Write klev levels 
    116     IF ( cd_type == 'I' ) THEN 
     118          DO jk = 1, klev 
     119             irec =1 + jk 
     120             z42d(:,:) = ptab(:,:,ksubi(jk)) 
     121             WRITE(inum,REC=irec)  z42d(:,:) 
     122          END DO 
     123       ELSE 
     124          DO jk = 1, klev 
     125             irec =1 + jk 
     126             z42d(:,:) = ptab(:,:,jk) 
     127             WRITE(inum,REC=irec)  z42d(:,:) 
     128          END DO 
     129       ENDIF 
     130    ELSE 
     131       !! Standard dimgproc (1 file per variable, all procs. write to this file ) 
     132       !! * Open file 
     133       OPEN (inum, FILE=cd_name, FORM='UNFORMATTED', ACCESS='DIRECT', RECL=irecl4 ) 
    117134 
    118        DO jk = 1, klev 
    119           irec =1 + klev * (narea -1) + jk 
    120           z42d(:,:) = ptab(:,:,ksubi(jk)) 
    121           WRITE(inum,REC=irec)  z42d(:,:) 
    122        END DO 
    123     ELSE 
    124        DO jk = 1, klev 
    125           irec =1 + klev * (narea -1) + jk 
    126           z42d(:,:) = ptab(:,:,jk) 
    127           WRITE(inum,REC=irec)  z42d(:,:) 
    128        END DO 
     135       !! * Write header on record #1 
     136       IF(lwp) WRITE(inum,REC=1 ) clver, cd_text, irecl4, & 
     137            &     jpi,jpj, klev*jpnij, 1 , 1 ,            & 
     138            &     zwest, zsouth, zdx, zdy, zspval,  & 
     139            &     (z4dep(1:klev),jn=1,jpnij),       & 
     140            &     ztimm,                            & 
     141            &     narea, jpnij,jpiglo,jpjglo,jpizoom, jpjzoom,    &    ! extension to dimg for mpp output 
     142            &     nlcit,nlcjt, nldit, nldjt, nleit, nlejt, nimppt, njmppt  ! 
     143 
     144       !! * Write klev levels 
     145       IF ( cd_type == 'I' ) THEN 
     146 
     147          DO jk = 1, klev 
     148             irec =1 + klev * (narea -1) + jk 
     149             z42d(:,:) = ptab(:,:,ksubi(jk)) 
     150             WRITE(inum,REC=irec)  z42d(:,:) 
     151          END DO 
     152       ELSE 
     153          DO jk = 1, klev 
     154             irec =1 + klev * (narea -1) + jk 
     155             z42d(:,:) = ptab(:,:,jk) 
     156             WRITE(inum,REC=irec)  z42d(:,:) 
     157          END DO 
     158       ENDIF 
    129159    ENDIF 
    130160 
  • trunk/NEMO/OPA_SRC/DOM/domain.F90

    r592 r631  
    107107      hur(:,:) = fse3u(:,:,1)             ! Lower bound : thickness of the first model level 
    108108      hvr(:,:) = fse3v(:,:,1) 
    109        
     109 
    110110      DO jk = 2, jpk                      ! Sum of the vertical scale factors 
    111111         hur(:,:) = hur(:,:) + fse3u(:,:,jk) * umask(:,:,jk) 
     
    144144      NAMELIST/namrun/ no    , cexper   , ln_rstart , nrstdt , nit000,         & 
    145145         &             nitend, ndate0   , nleapy   , ninist , nstock,          & 
    146          &             nwrite, nrunoff 
     146         &             nwrite, nrunoff  , ln_dimgnnn 
    147147 
    148148      NAMELIST/namdom/ ntopo , e3zps_min, e3zps_rat, ngrid  , nmsh  ,   & 
     
    176176         WRITE(numout,*) '           frequency of output file        nwrite    = ', nwrite 
    177177         WRITE(numout,*) '           runoff option                   nrunoff   = ', nrunoff 
     178         WRITE(numout,*) '           multi file dimgout           ln_dimgnnn   = ', ln_dimgnnn 
    178179      ENDIF 
    179180 
  • trunk/NEMO/OPA_SRC/IOM/in_out_manager.F90

    r624 r631  
    3333   INTEGER            ::   nleapy     = 0         !: Leap year calendar flag (0/1 or 30) 
    3434   INTEGER            ::   ninist     = 0         !: initial state output flag (0/1) 
     35   LOGICAL            ::   ln_dimgnnn = .FALSE.   !: type of dimgout. (F): 1 file for all proc 
     36                                                  !:                  (T): 1 file per proc 
    3537   !!---------------------------------------------------------------------- 
    3638   !! was in restart but moved here because of the OFF line... better solution should be found... 
     
    7274   !!                          Run control   
    7375   !!---------------------------------------------------------------------- 
    74     
     76 
    7577   INTEGER            ::   nstop = 0                !: error flag (=number of reason for a premature stop run) 
    7678   INTEGER            ::   nwarn = 0                !: warning flag (=number of warning found during the run) 
     
    168170        getunit = -1 
    169171     ENDIF 
    170       
     172 
    171173   END FUNCTION getunit 
    172174 
Note: See TracChangeset for help on using the changeset viewer.