Changeset 3244


Ignore:
Timestamp:
2012-01-04T11:31:09+01:00 (9 years ago)
Author:
cetlod
Message:

dev_NEMO_MERGE_2011 : Minor reorganisation of initialisation phase of TOP ; needed to get calendar information before the use of fldread

Location:
branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/trcini_pisces.F90

    r3192 r3244  
    169169      ndayflxtr = 0 
    170170 
     171      IF(lwp) WRITE(numout,*)  
    171172      IF(lwp) WRITE(numout,*) 'Initialization of PISCES tracers done' 
    172       IF(lwp) WRITE(numout,*) ' ' 
     173      IF(lwp) WRITE(numout,*)  
    173174      ! 
    174175   END SUBROUTINE trc_ini_pisces 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/PISCES/trcrst_pisces.F90

    r3124 r3244  
    5252         CALL iom_get( knum, jpdom_autoglo, 'PH' , hi(:,:,:)  ) 
    5353      ELSE 
    54          hi(:,:,:) = 1.e-9  
     54!         hi(:,:,:) = 1.e-9  
    5555         ! Set PH from  total alkalinity, borat (???), akb3 (???) and ak23 (???) 
    5656         ! -------------------------------------------------------- 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/trcini.F90

    r3242 r3244  
    7777 
    7878      CALL trc_nam                  ! read passive tracers namelists 
    79       !                                                              ! masked grid volume 
    80       IF( lk_offline )  THEN 
    81          IF( ln_rsttr ) THEN 
    82             neuler = 1   ! Set time-step indicator at nit000 (leap-frog) 
    83          ELSE 
    84             neuler = 0                  ! Set time-step indicator at nit000 (euler) 
    85             CALL day_init               ! set calendar 
     79      ! 
     80      IF(lwp) WRITE(numout,*) 
     81      IF( ln_rsttr ) THEN 
     82        ! 
     83        IF( lk_offline )  neuler = 1   ! Set time-step indicator at nit000 (leap-frog) 
     84        CALL trc_rst_cal( nittrc000, 'READ' )   ! calendar 
     85        ! 
     86      ELSE 
     87        IF( lk_offline )  THEN 
     88           neuler = 0                  ! Set time-step indicator at nit000 (euler) 
     89           CALL day_init               ! set calendar 
    8690        ENDIF 
    87       ENDIF 
     91        ! 
     92      ENDIF 
     93      IF(lwp) WRITE(numout,*) 
     94                                                              ! masked grid volume 
    8895      !                                                              ! masked grid volume 
    8996      DO jk = 1, jpk 
     
    94101      areatot = glob_sum( cvol(:,:,:) ) 
    95102 
    96       IF( lk_lobster ) THEN   ;   CALL trc_ini_lobster      ! LOBSTER bio-model 
    97       ELSE                    ;   IF(lwp) WRITE(numout,*) '          LOBSTER not used' 
    98       ENDIF 
    99        
    100       IF( lk_pisces  ) THEN   ;   CALL trc_ini_pisces       ! PISCES  bio-model 
    101       ELSE                    ;   IF(lwp) WRITE(numout,*) '          PISCES not used' 
    102       ENDIF 
    103        
    104       IF( lk_cfc     ) THEN   ;   CALL trc_ini_cfc          ! CFC     tracers 
    105       ELSE                    ;   IF(lwp) WRITE(numout,*) '          CFC not used' 
    106       ENDIF 
    107  
    108       IF( lk_c14b    ) THEN   ;   CALL trc_ini_c14b         ! C14 bomb  tracer 
    109       ELSE                    ;   IF(lwp) WRITE(numout,*) '          C14 not used' 
    110       ENDIF 
    111        
    112       IF( lk_my_trc  ) THEN   ;   CALL trc_ini_my_trc       ! MY_TRC  tracers 
    113       ELSE                    ;   IF(lwp) WRITE(numout,*) '          MY_TRC not used' 
    114       ENDIF 
     103      IF( lk_lobster )       CALL trc_ini_lobster      ! LOBSTER bio-model 
     104      IF( lk_pisces  )       CALL trc_ini_pisces       ! PISCES  bio-model 
     105      IF( lk_cfc     )       CALL trc_ini_cfc          ! CFC     tracers 
     106      IF( lk_c14b    )       CALL trc_ini_c14b         ! C14 bomb  tracer 
     107      IF( lk_my_trc  )       CALL trc_ini_my_trc       ! MY_TRC  tracers 
    115108 
    116109      IF( lwp ) THEN 
     
    120113      ENDIF 
    121114 
    122       IF( ln_trcdta )             CALL trc_dta_init 
     115      IF( ln_trcdta )      CALL trc_dta_init 
     116 
    123117 
    124118      IF( ln_rsttr ) THEN 
     
    173167         WRITE(numout,*) 
    174168      ENDIF 
    175       WRITE(numout,*) 
     169      IF(lwp) WRITE(numout,*) 
    176170      IF(ln_ctl) THEN            ! print mean trends (used for debugging) 
    177171         CALL prt_ctl_trc_init 
  • branches/2011/dev_NEMO_MERGE_2011/NEMOGCM/NEMO/TOP_SRC/trcrst.F90

    r3160 r3244  
    3939   PUBLIC   trc_rst_read      ! called by ??? 
    4040   PUBLIC   trc_rst_wri       ! called by ??? 
     41   PUBLIC   trc_rst_cal 
    4142 
    4243   INTEGER, PUBLIC ::   numrtr, numrtw   !: logical unit for trc restart (read and write) 
     
    99100      !!---------------------------------------------------------------------- 
    100101      INTEGER  ::  jn      
    101       INTEGER  ::  jlibalt = jprstlib 
    102       LOGICAL  ::  llok 
    103102 
    104103      !!---------------------------------------------------------------------- 
    105104      ! 
    106105      IF(lwp) WRITE(numout,*) 
    107       IF(lwp) WRITE(numout,*) 'trc_rst_read : read the TOP restart file' 
     106      IF(lwp) WRITE(numout,*) 'trc_rst_read : read data in the TOP restart file' 
    108107      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 
    109  
    110       IF ( jprstlib == jprstdimg ) THEN 
    111         ! eventually read netcdf file (monobloc)  for restarting on different number of processors 
    112         ! if {cn_trcrst_in}.nc exists, then set jlibalt to jpnf90  
    113         INQUIRE( FILE = TRIM(cn_trcrst_in)//'.nc', EXIST = llok ) 
    114         IF ( llok ) THEN ; jlibalt = jpnf90  ; ELSE ; jlibalt = jprstlib ; ENDIF  
    115       ENDIF 
    116  
    117       CALL iom_open( cn_trcrst_in, numrtr, kiolib = jlibalt )  
    118  
    119       ! Time domain : restart 
    120       ! --------------------- 
    121       CALL trc_rst_cal( nittrc000, 'READ' )   ! calendar 
    122108 
    123109      ! READ prognostic variables and computes diagnostic variable 
     
    209195      CHARACTER(len=*), INTENT(in) ::   cdrw       ! "READ"/"WRITE" flag 
    210196      ! 
     197      INTEGER  ::  jlibalt = jprstlib 
     198      LOGICAL  ::  llok 
    211199      REAL(wp) ::  zkt, zrdttrc1 
    212200      REAL(wp) ::  zndastp 
     
    216204 
    217205      IF( TRIM(cdrw) == 'READ' ) THEN 
     206 
     207         IF(lwp) WRITE(numout,*) 
     208         IF(lwp) WRITE(numout,*) 'trc_rst_cal : read the TOP restart file for calendar' 
     209         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~' 
     210 
     211         IF ( jprstlib == jprstdimg ) THEN 
     212           ! eventually read netcdf file (monobloc)  for restarting on different number of processors 
     213           ! if {cn_trcrst_in}.nc exists, then set jlibalt to jpnf90  
     214           INQUIRE( FILE = TRIM(cn_trcrst_in)//'.nc', EXIST = llok ) 
     215           IF ( llok ) THEN ; jlibalt = jpnf90  ; ELSE ; jlibalt = jprstlib ; ENDIF 
     216         ENDIF 
     217 
     218         CALL iom_open( cn_trcrst_in, numrtr, kiolib = jlibalt ) 
     219 
    218220         CALL iom_get ( numrtr, 'kt', zkt )   ! last time-step of previous run 
    219221         IF(lwp) THEN 
Note: See TracChangeset for help on using the changeset viewer.