Changeset 5742


Ignore:
Timestamp:
2015-09-14T15:08:42+02:00 (5 years ago)
Author:
jpalmier
Message:

JPALM —14-09-2015 — correct mistake in trcsed_medusa

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcsed_medusa.F90

    r5740 r5742  
    262262 
    263263      !!--------------------------------------------------------------------- 
    264  
    265       !! Initialization 
    266       !! -------------- 
    267       !! 
    268       i15 = nday / 16 
    269       iman  = INT( raamo ) 
    270       imois = nmonth + i15 - 1 
    271       IF( imois == 0 ) imois = iman 
    272       imois2 = nmonth 
    273  
    274       !! 1. first call kt=nittrc000 
    275       !! ----------------------- 
    276       !! 
    277       IF( kt == nittrc000 ) THEN 
    278          ! initializations 
    279          nflx1  = 0 
    280          nflx11 = 0 
    281          ! open the file 
    282          IF(lwp) THEN 
    283             WRITE(numout,*) ' ' 
    284             WRITE(numout,*) ' **** Routine trc_sed_medusa_sbc' 
     264      IF (bdustfer) THEN 
     265         !! Initialization 
     266         !! -------------- 
     267         !! 
     268         i15 = nday / 16 
     269         iman  = INT( raamo ) 
     270         imois = nmonth + i15 - 1 
     271         IF( imois == 0 ) imois = iman 
     272         imois2 = nmonth 
     273 
     274         !! 1. first call kt=nittrc000 
     275         !! ----------------------- 
     276         !! 
     277         IF (kt == nittrc000) THEN 
     278            ! initializations 
     279            nflx1  = 0 
     280            nflx11 = 0 
     281            ! open the file 
     282            IF(lwp) THEN 
     283               WRITE(numout,*) ' ' 
     284               WRITE(numout,*) ' **** Routine trc_sed_medusa_sbc' 
     285            ENDIF 
     286            CALL iom_open ( 'dust.orca.nc', numdust ) 
     287            IF(lwp) WRITE(numout,*) 'trc_sed_medusa_sbc: dust.orca.nc opened' 
    285288         ENDIF 
    286          CALL iom_open ( 'dust.orca.nc', numdust ) 
    287     IF(lwp) WRITE(numout,*) 'trc_sed_medusa_sbc: dust.orca.nc opened' 
     289    
     290         !! Read monthly file 
     291         !! ---------------- 
     292         !! 
     293         IF( kt == nittrc000 .OR. imois /= nflx1 ) THEN 
     294 
     295            !! Calendar computation 
     296            !! 
     297            !! nflx1 number of the first file record used in the simulation 
     298            !! nflx2 number of the last  file record 
     299            !! 
     300            nflx1 = imois 
     301            nflx2 = nflx1+1 
     302            nflx1 = MOD( nflx1, iman ) 
     303            nflx2 = MOD( nflx2, iman ) 
     304            IF( nflx1 == 0 )   nflx1 = iman 
     305            IF( nflx2 == 0 )   nflx2 = iman 
     306            IF(lwp) WRITE(numout,*) 'trc_sed_medusa_sbc: first record file used nflx1 ',nflx1 
     307            IF(lwp) WRITE(numout,*) 'trc_sed_medusa_sbc: last  record file used nflx2 ',nflx2 
     308 
     309            !! Read monthly fluxes data 
     310            !! 
     311            !! humidity 
     312            !! 
     313            CALL iom_get ( numdust, jpdom_data, 'dust', dustmo(:,:,1), nflx1 ) 
     314            CALL iom_get ( numdust, jpdom_data, 'dust', dustmo(:,:,2), nflx2 ) 
     315 
     316            IF(lwp .AND. nitend-nit000 <= 100 ) THEN 
     317               WRITE(numout,*) 
     318               WRITE(numout,*) ' read clio flx ok' 
     319               WRITE(numout,*) 
     320               WRITE(numout,*) 
     321               WRITE(numout,*) 'Clio month: ',nflx1,'  field: dust' 
     322               CALL prihre( dustmo(:,:,1),jpi,jpj,1,jpi,20,1,jpj,10,1e9,numout ) 
     323            ENDIF 
     324  
     325         ENDIF 
     326 
     327         !! 3. at every time step interpolation of fluxes 
     328         !! --------------------------------------------- 
     329         !! 
     330         zxy = FLOAT( nday + 15 - 30 * i15 ) / 30 
     331         dust(:,:) = ( (1.-zxy) * dustmo(:,:,1) + zxy * dustmo(:,:,2) ) 
     332 
     333         IF( kt == nitend ) THEN 
     334            CALL iom_close (numdust) 
     335            IF(lwp) WRITE(numout,*) 'trc_sed_medusa_sbc: dust.orca.nc closed' 
     336         ENDIF 
     337      ELSE  
     338         dust(:,:) = 0.0 
    288339      ENDIF 
    289  
    290       !! Read monthly file 
    291       !! ---------------- 
    292       !! 
    293       IF( kt == nittrc000 .OR. imois /= nflx1 ) THEN 
    294  
    295          !! Calendar computation 
    296          !! 
    297          !! nflx1 number of the first file record used in the simulation 
    298          !! nflx2 number of the last  file record 
    299          !! 
    300          nflx1 = imois 
    301          nflx2 = nflx1+1 
    302          nflx1 = MOD( nflx1, iman ) 
    303          nflx2 = MOD( nflx2, iman ) 
    304          IF( nflx1 == 0 )   nflx1 = iman 
    305          IF( nflx2 == 0 )   nflx2 = iman 
    306          IF(lwp) WRITE(numout,*) 'trc_sed_medusa_sbc: first record file used nflx1 ',nflx1 
    307          IF(lwp) WRITE(numout,*) 'trc_sed_medusa_sbc: last  record file used nflx2 ',nflx2 
    308  
    309          !! Read monthly fluxes data 
    310          !! 
    311          !! humidity 
    312          !! 
    313          CALL iom_get ( numdust, jpdom_data, 'dust', dustmo(:,:,1), nflx1 ) 
    314          CALL iom_get ( numdust, jpdom_data, 'dust', dustmo(:,:,2), nflx2 ) 
    315  
    316          IF(lwp .AND. nitend-nit000 <= 100 ) THEN 
    317             WRITE(numout,*) 
    318             WRITE(numout,*) ' read clio flx ok' 
    319             WRITE(numout,*) 
    320             WRITE(numout,*) 
    321             WRITE(numout,*) 'Clio month: ',nflx1,'  field: dust' 
    322             CALL prihre( dustmo(:,:,1),jpi,jpj,1,jpi,20,1,jpj,10,1e9,numout ) 
    323          ENDIF 
    324  
    325       ENDIF 
    326  
    327       !! 3. at every time step interpolation of fluxes 
    328       !! --------------------------------------------- 
    329       !! 
    330       zxy = FLOAT( nday + 15 - 30 * i15 ) / 30 
    331       dust(:,:) = ( (1.-zxy) * dustmo(:,:,1) + zxy * dustmo(:,:,2) ) 
    332  
    333       IF( kt == nitend ) THEN 
    334          CALL iom_close (numdust) 
    335          IF(lwp) WRITE(numout,*) 'trc_sed_medusa_sbc: dust.orca.nc closed' 
    336       ENDIF 
    337  
    338340   END SUBROUTINE trc_sed_medusa_sbc 
    339341 
Note: See TracChangeset for help on using the changeset viewer.