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 7766 for branches/NERC/dev_r5518_NOC_MEDUSA_Stable/NEMOGCM/NEMO/TOP_SRC/MEDUSA/trcsed_medusa.F90 – NEMO

Ignore:
Timestamp:
2017-03-07T19:30:03+01:00 (7 years ago)
Author:
jpalmier
Message:

JPALM -- adapted MEDUSA_SBC to coupled mode, and merged this branch with RICHARD s fixes_part2 branch

File:
1 edited

Legend:

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

    r6844 r7766  
    4141 
    4242   PUBLIC   trc_sed_medusa     ! called in ??? 
    43    PUBLIC   trc_sed_medusa_sbc       
     43   PUBLIC   trc_sed_medusa_sbc      
     44   PUBLIC   trc_sed_medusa_dust  
    4445 
    4546   !! * Module variables 
     
    126127 
    127128      !! AXY (20/11/14): alter this to report on first MEDUSA call 
    128       !! IF( kt == nit000 ) THEN 
    129129      IF( kt == nittrc000 ) THEN 
    130130         IF(lwp) WRITE(numout,*) 
     
    133133    IF(lwp) WRITE(numout,*) ' kt =',kt 
    134134      ENDIF 
    135  
    136       !! AXY (04/11/13): replace this with a call in trc_ini_medusa 
    137       !! AXY (25/02/10) 
    138       !! call routine for populating CCD array if this is the first time-step 
    139       !! IF( kt == nittrc000 ) CALL medusa_ccd( kt ) 
    140  
    141       !! AXY (04/11/13): replace this with a call in trc_ini_medusa 
    142       !! AXY (26/01/12) 
    143       !! call routine for populating river arrays if this is the first time-step 
    144       !! IF( kt == nittrc000 ) CALL medusa_river( kt ) 
    145  
    146       !! AXY (10/02/09) 
    147       !!IF( (jnt == 1) .and. (bdustfer) )  CALL trc_sed_medusa_sbc( kt ) 
    148  
    149       !! JPALM -- 31-03-2016 -- rewrite trc_sed_medusa_sbc. 
    150       !! IF (kt == nittrc000 ) CALL trc_sed_medusa_sbc  
    151  
    152       !! JPALM -- 20-07-2016 -- adapt dust forcing fields reading and conversion 
    153       !!                     To read dust dep in kg-dust/m2/s instead of g-Fe/m2/month  
    154       !!                     So all forcings and coupling dust dep are in the same SI units 
    155       !!                     and then convert in mmol-Fe/m2/day 
    156  
    157       IF( bdustfer ) THEN 
    158         !! IF( kt == nittrc000 .OR. ( kt /= nittrc000 .AND. ntimes_dust > 1 ) ) THEN 
    159             CALL fld_read( kt, 1, sf_dust ) 
    160             dust(:,:) = sf_dust(1)%fnow(:,:,1) 
    161          !! ENDIF 
    162       ELSEIF (lk_oasis) THEN 
    163          dust = Dust_in_cpl 
    164       ELSE 
    165          dust(:,:) = 0.0 
    166       ENDIF 
    167       !! 
    168       zirondep(:,:) = 0.e0     !! Initialisation of deposition variables 
    169       zirondep(:,:) = dust(:,:) * Fe_dust_mratio / xfe_mass * 1.e6 * 86400.  !! mmol-Fe/m2/d 
    170        
    171       !! JPALM -- 20-07-2016 -- Zirondep and zsidep are not used. 
    172       !!                     So comment out the following lines. but keep them 
    173       !!                     as we may want to used them later on 
    174       !!================================================      
    175       !! 
    176       !! zirondep(:,:,:) = 0.e0     !! Initialisation of deposition variables 
    177       !! zsidep  (:,:)   = 0.e0 
    178       !! 
    179       !! Iron and Si deposition at the surface 
    180       !! ------------------------------------- 
    181       !! 
    182       !! DO jj = 1, jpj 
    183       !!    DO ji = 1, jpi 
    184       !!       zirondep(ji,jj,1) = (dustsolub * dust(ji,jj) / (55.85 * rmtss) + 3.e-10 / ryyss) & 
    185       !!       & * rfact2 / fse3t(ji,jj,1) 
    186       !!       zsidep  (ji,jj)   = 8.8 * 0.075 * dust(ji,jj) * rfact2 / & 
    187       !!       & (fse3t(ji,jj,1) * 28.1 * rmtss) 
    188       !!    END DO 
    189       !! END DO 
    190135 
    191136      ! sedimentation of detrital nitrogen : upstream scheme 
     
    412357   END SUBROUTINE trc_sed_medusa_sbc 
    413358 
     359   !! ====================================================================== 
     360   !! ====================================================================== 
     361   !! ====================================================================== 
     362 
     363   !! AXY & JPALM (28/02/17) 
     364 
     365   SUBROUTINE trc_sed_medusa_dust( kt ) 
     366      !!--------------------------------------------------------------------- 
     367      !!                     ***  ROUTINE trc_sed_medusa_dust  *** 
     368      !! 
     369      !! ** Purpose : compute current dust *before* trc_bio_medusa call 
     370      !! 
     371      !! ** Method  : does what it says on the tin 
     372      !!--------------------------------------------------------------------- 
     373      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index       
     374 
     375      !! AXY (20/11/14): alter this to report on first MEDUSA call 
     376      IF( kt == nittrc000 ) THEN 
     377         IF(lwp) WRITE(numout,*) 
     378         IF(lwp) WRITE(numout,*) ' trc_sed_medusa_dust: MEDUSA dust timestep' 
     379         IF(lwp) WRITE(numout,*) ' ~~~~~~~' 
     380    IF(lwp) WRITE(numout,*) ' kt =',kt 
     381      ENDIF 
     382 
     383      !! AXY (04/11/13): replace this with a call in trc_ini_medusa 
     384      !! AXY (25/02/10) 
     385      !! call routine for populating CCD array if this is the first time-step 
     386      !! IF( kt == nittrc000 ) CALL medusa_ccd( kt ) 
     387 
     388      !! AXY (04/11/13): replace this with a call in trc_ini_medusa 
     389      !! AXY (26/01/12) 
     390      !! call routine for populating river arrays if this is the first time-step 
     391      !! IF( kt == nittrc000 ) CALL medusa_river( kt ) 
     392 
     393      !! AXY (10/02/09) 
     394      !! IF( (jnt == 1) .and. (bdustfer) )  CALL trc_sed_medusa_sbc( kt ) 
     395 
     396      !! JPALM -- 31-03-2016 -- rewrite trc_sed_medusa_sbc. 
     397      !! IF (kt == nittrc000 ) CALL trc_sed_medusa_sbc  
     398 
     399      !! JPALM -- 20-07-2016 -- adapt dust forcing fields reading and conversion 
     400      !!                     To read dust dep in kg-dust/m2/s instead of g-Fe/m2/month  
     401      !!                     So all forcings and coupling dust dep are in the same SI units 
     402      !!                     and then convert in mmol-Fe/m2/day 
     403 
     404      IF( bdustfer ) THEN 
     405            CALL fld_read( kt, 1, sf_dust ) 
     406            dust(:,:) = sf_dust(1)%fnow(:,:,1) 
     407      ELSEIF (lk_oasis) THEN 
     408         dust = Dust_in_cpl 
     409      ELSE 
     410         dust(:,:) = 0.0 
     411      ENDIF 
     412      !! 
     413      zirondep(:,:) = 0.e0     !! Initialisation of deposition variables 
     414      zirondep(:,:) = dust(:,:) * Fe_dust_mratio / xfe_mass * 1.e6 * 86400.  !! mmol-Fe/m2/d 
     415       
     416      !! JPALM -- 20-07-2016 -- Zirondep and zsidep are not used. 
     417      !!                     So comment out the following lines. but keep them 
     418      !!                     as we may want to used them later on 
     419      !!================================================      
     420      !! 
     421      !! zirondep(:,:,:) = 0.e0     !! Initialisation of deposition variables 
     422      !! zsidep  (:,:)   = 0.e0 
     423      !! 
     424      !! Iron and Si deposition at the surface 
     425      !! ------------------------------------- 
     426      !! 
     427      !! DO jj = 1, jpj 
     428      !!    DO ji = 1, jpi 
     429      !!       zirondep(ji,jj,1) = (dustsolub * dust(ji,jj) / (55.85 * rmtss) + 3.e-10 / ryyss) & 
     430      !!       & * rfact2 / fse3t(ji,jj,1) 
     431      !!       zsidep  (ji,jj)   = 8.8 * 0.075 * dust(ji,jj) * rfact2 / & 
     432      !!       & (fse3t(ji,jj,1) * 28.1 * rmtss) 
     433      !!    END DO 
     434      !! END DO 
     435 
     436   END SUBROUTINE trc_sed_medusa_dust 
     437 
    414438#else 
    415439   !!====================================================================== 
     
    425449   !!====================================================================== 
    426450END MODULE  trcsed_medusa 
     451 
Note: See TracChangeset for help on using the changeset viewer.