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 8159 – NEMO

Changeset 8159


Ignore:
Timestamp:
2017-06-09T15:38:39+02:00 (7 years ago)
Author:
frrh
Message:

Commit chlorophyll coupling interface inclusion and fix to protect namstr
use in non passive tracer jobs.

See GMED ticket 377

Location:
branches/UKMO/dev_r5518_GO6_MEDUSA_dummyrun/NEMOGCM
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_GO6_MEDUSA_dummyrun/NEMOGCM/CONFIG/SHARED/namelist_ref

    r8046 r8159  
    363363   sn_snd_crt    =       'none'                 ,    'no'    , 'spherical' , 'eastward-northward' ,  'T' 
    364364   sn_snd_co2    =       'coupled'              ,    'no'    ,     ''      ,         ''           ,   '' 
     365   sn_snd_bio_co2 =      'medusa'               ,    'no'    ,     ''      ,         ''           ,   '' 
     366   sn_snd_bio_dms =      'medusa'               ,    'no'    ,     ''      ,         ''           ,   '' 
     367   sn_snd_bio_chloro =   'medusa'               ,    'no'    ,     ''      ,         ''           ,   '' 
     368   sn_snd_cond   =       'weighted ice'         ,    'no'    ,     ''      ,         ''           ,   '' 
     369   sn_snd_mpnd   =       'ice only'             ,    'no'    ,     ''      ,         ''           ,   '' 
     370   sn_snd_sstfrz =       'coupled'              ,    'no'    ,     ''      ,         ''           ,   '' 
     371   sn_snd_thick1 =       'ice and snow'         ,    'no'    ,     ''      ,         ''           ,   '' 
    365372! receive 
    366373   sn_rcv_w10m   =       'none'                 ,    'no'    ,     ''      ,         ''          ,   '' 
     
    374381   sn_rcv_cal    =       'coupled'              ,    'no'    ,     ''      ,         ''          ,   '' 
    375382   sn_rcv_co2    =       'coupled'              ,    'no'    ,     ''      ,         ''          ,   '' 
     383   sn_rcv_antm   =       'coupled'              ,    'no'    ,     ''      ,         ''          ,   '' 
     384   sn_rcv_grnm   =       'coupled'              ,    'no'    ,     ''      ,         ''          ,   '' 
     385   sn_rcv_iceflx =       'coupled'              ,    'no'    ,     ''      ,         ''          ,   '' 
     386   sn_rcv_ts_ice =       'ice'                  ,    'no'    ,     ''      ,         ''          ,   '' 
     387   sn_rcv_atm_dust =     'medusa'               ,    'no'    ,     ''      ,         ''          ,   '' 
     388   sn_rcv_atm_pco2 =     'medusa'               ,    'no'    ,     ''      ,         ''          ,   '' 
     389 
    376390! 
    377391   nn_cplmodel   =     1     !  Maximum number of models to/from which NEMO is potentialy sending/receiving data 
  • branches/UKMO/dev_r5518_GO6_MEDUSA_dummyrun/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r8046 r8159  
    3434   USE geo2ocean       !  
    3535   USE oce   , ONLY : tsn, un, vn, sshn, ub, vb, sshb, fraqsr_1lev,            & 
    36                       CO2Flux_out_cpl, DMS_out_cpl, PCO2a_in_cpl, Dust_in_cpl, & 
     36                      CO2Flux_out_cpl, DMS_out_cpl, chloro_out_cpl,            &  
     37                      PCO2a_in_cpl, Dust_in_cpl, & 
    3738                      ln_medusa 
    3839   USE albedo          ! 
     
    145146   INTEGER, PARAMETER ::   jps_sstfrz = 32            ! sea-surface freezing temperature 
    146147   INTEGER, PARAMETER ::   jps_fice1  = 33            ! first-order ice concentration (for time-travelling ice coupling) 
    147    INTEGER, PARAMETER ::   jps_bio_co2 = 34           ! MEDUSA air-sea CO2 flux in 
    148    INTEGER, PARAMETER ::   jps_bio_dms = 35           ! MEDUSA DMS surface concentration in 
    149    INTEGER, PARAMETER ::   jpsnd      = 35            ! total number of fields sent 
     148   INTEGER, PARAMETER ::   jps_bio_co2 = 34           ! MEDUSA air-sea CO2 flux 
     149   INTEGER, PARAMETER ::   jps_bio_dms = 35           ! MEDUSA DMS surface concentration 
     150   INTEGER, PARAMETER ::   jps_bio_chloro = 36        ! MEDUSA chlorophyll surface concentration 
     151   INTEGER, PARAMETER ::   jpsnd      = 36            ! total number of fields sent 
    150152 
    151153   REAL(wp), PARAMETER :: dms_unit_conv = 1.0e+6      ! Coversion factor to get outgong DMS in standard units for coupling 
     
    162164   ! Send to the atmosphere                           ! 
    163165   TYPE(FLD_C) ::   sn_snd_temp, sn_snd_alb, sn_snd_thick, sn_snd_crt, sn_snd_co2, sn_snd_cond, sn_snd_mpnd, sn_snd_sstfrz, sn_snd_thick1 
    164    TYPE(FLD_C) ::   sn_snd_bio_co2, sn_snd_bio_dms                        
     166   TYPE(FLD_C) ::   sn_snd_bio_co2, sn_snd_bio_dms, sn_snd_bio_chloro                    
    165167 
    166168   ! Received from the atmosphere                     ! 
     
    246248 
    247249      ! Add MEDUSA related fields to namelist 
    248       NAMELIST/namsbc_cpl/  sn_snd_bio_co2, sn_snd_bio_dms,                                           & 
     250      NAMELIST/namsbc_cpl/  sn_snd_bio_co2, sn_snd_bio_dms, sn_snd_bio_chloro,                        & 
    249251         &                  sn_rcv_atm_pco2, sn_rcv_atm_dust 
    250252 
     
    304306         WRITE(numout,*)'      bio co2 flux                    = ', TRIM(sn_snd_bio_co2%cldes), ' (', TRIM(sn_snd_bio_co2%clcat), ')' 
    305307         WRITE(numout,*)'      bio dms flux                    = ', TRIM(sn_snd_bio_dms%cldes), ' (', TRIM(sn_snd_bio_dms%clcat), ')' 
     308         WRITE(numout,*)'      bio dms chlorophyll             = ', TRIM(sn_snd_bio_chloro%cldes), ' (', TRIM(sn_snd_bio_chloro%clcat), ')' 
    306309         WRITE(numout,*)'      oce co2 flux                    = ', TRIM(sn_snd_co2%cldes   ), ' (', TRIM(sn_snd_co2%clcat   ), ')' 
    307310         WRITE(numout,*)'      ice effective conductivity      = ', TRIM(sn_snd_cond%cldes   ), ' (', TRIM(sn_snd_cond%clcat   ), ')' 
     
    826829      IF( TRIM(sn_snd_bio_co2%cldes) == 'medusa' )    ssnd(jps_bio_co2 )%laction = .TRUE. 
    827830       
     831      ! Surface chlorophyll from Medusa 
     832      ssnd(jps_bio_chloro)%clname = 'OBioChlo'    
     833      IF( TRIM(sn_snd_bio_chloro%cldes) == 'medusa' )    ssnd(jps_bio_chloro )%laction = .TRUE. 
     834 
    828835      !                                                      ! ------------------------- ! 
    829836      !                                                      ! Sea surface freezing temp ! 
     
    10451052      REAL(wp), POINTER, DIMENSION(:,:) ::   ztx, zty, zmsk, zemp, zqns, zqsr 
    10461053      !!---------------------------------------------------------------------- 
    1047  
    1048       ! RSRH temporary arrays for testing, just to recieve incoming MEDUSA related fields 
    1049       ! until we know where they need to go. 
    1050       REAL(wp), ALLOCATABLE :: atm_pco2(:,:) 
    1051       REAL(wp), ALLOCATABLE :: atm_dust(:,:) 
    10521054 
    10531055      ! 
     
    23472349 
    23482350      IF (ln_medusa) THEN 
    2349       !                                                      ! --------------------------------- ! 
    2350       !                                                      !  CO2 flux and DMS from MEDUSA     !  
    2351       !                                                      ! --------------------------------- ! 
     2351      !                                                      ! ---------------------------------------------- ! 
     2352      !                                                      !  CO2 flux, DMS and chlorophyll from MEDUSA     !  
     2353      !                                                      ! ---------------------------------------------- ! 
    23522354         IF ( ssnd(jps_bio_co2)%laction ) THEN 
    23532355            CALL cpl_snd( jps_bio_co2, isec, RESHAPE( CO2Flux_out_cpl, (/jpi,jpj,1/) ), info ) 
     
    23562358         IF ( ssnd(jps_bio_dms)%laction )  THEN 
    23572359            CALL cpl_snd( jps_bio_dms, isec, RESHAPE( DMS_out_cpl, (/jpi,jpj,1/) ), info ) 
     2360         ENDIF 
     2361 
     2362         IF ( ssnd(jps_bio_chloro)%laction )  THEN 
     2363            CALL cpl_snd( jps_bio_chloro, isec, RESHAPE( chloro_out_cpl, (/jpi,jpj,1/) ), info ) 
    23582364         ENDIF 
    23592365      ENDIF 
  • branches/UKMO/dev_r5518_GO6_MEDUSA_dummyrun/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90

    r8155 r8159  
    610610      IF( numdct_heat     /= -1 )   CLOSE( numdct_heat     )   ! heat transports 
    611611      IF( numdct_salt     /= -1 )   CLOSE( numdct_salt     )   ! salt transports 
     612#if defined key_top 
    612613      IF( numstr          /= -1 )   CLOSE( numstr          )   ! tracer statistics  
    613  
     614#endif 
    614615      ! 
    615616      numout = 6                                     ! redefine numout in case it is used after this point... 
  • branches/UKMO/dev_r5518_GO6_MEDUSA_dummyrun/NEMOGCM/NEMO/OPA_SRC/oce.F90

    r7770 r8159  
    7777   REAL(wp), PUBLIC, ALLOCATABLE, SAVE :: CO2Flux_out_cpl(:,:)  ! Output coupling CO2 flux   
    7878   REAL(wp), PUBLIC, ALLOCATABLE, SAVE :: DMS_out_cpl(:,:)      ! Output coupling DMS   
     79   REAL(wp), PUBLIC, ALLOCATABLE, SAVE :: chloro_out_cpl(:,:)   ! Output coupling chlorophyll  
     80                                                                ! (expected in Kg/M3)   
    7981 
    8082   REAL(wp), PUBLIC, ALLOCATABLE, SAVE :: PCO2a_in_cpl(:,:)     ! Input coupling CO2 partial pressure  
     
    138140         ! are enabled 
    139141         ALLOCATE( CO2Flux_out_cpl(jpi,jpj), DMS_out_cpl(jpi,jpj),               & 
     142                   chloro_out_cpl(jpi,jpj),                                      & 
    140143                   PCO2a_in_cpl(jpi,jpj), Dust_in_cpl(jpi,jpj),     STAT=ierr(5) ) 
    141144 
Note: See TracChangeset for help on using the changeset viewer.