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 7625 for branches – NEMO

Changeset 7625 for branches


Ignore:
Timestamp:
2017-01-31T13:06:14+01:00 (7 years ago)
Author:
dford
Message:

Update the retrieval of pCO2 from FABM.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r4650_general_vert_coord_obsoper_surf_bgc/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90

    r7489 r7625  
    14231423         & tmask, umask, vmask                             
    14241424      USE phycst, ONLY : &              ! Physical constants 
    1425          & rday                          
     1425         & rday, & 
     1426         & rt0 
    14261427      USE oce, ONLY : &                 ! Ocean dynamics and tracers variables 
    14271428         & tsn,  &              
     
    14551456      USE par_spm, ONLY: &              ! ERSEM/SPM sediments 
    14561457         & jp_spm 
     1458      USE trc, ONLY :  & 
     1459         & trn 
    14571460#endif 
    14581461      IMPLICIT NONE 
     
    14931496#if defined key_fabm 
    14941497      REAL(wp), DIMENSION(jpi,jpj,jpk) :: logchl_3d 
     1498      REAL(wp), DIMENSION(jpi,jpj,jpk) :: pco2_3d 
    14951499#endif 
    14961500      CHARACTER(LEN=20) :: datestr=" ",timestr=" " 
     
    16741678         ENDIF 
    16751679#elif defined key_fabm 
    1676          !fco2(:,:)  =  ???                 ! fCO2 from ERSEM 
    1677          CALL ctl_stop( ' Trying to run fco2 observation operator', & 
    1678             &           ' but not properly implemented for FABM-ERSEM yet' ) 
     1680         ! First, get pCO2 from FABM 
     1681         pco2_3d(:,:,:) = fabm_get_bulk_diagnostic_data(model, jp_fabm_o3pc) 
     1682         pco2(:,:) = pco2_3d(:,:,1) 
     1683         ! Now, convert pCO2 to fCO2, based on SST in K 
     1684         ! This follows the method used by SOCAT to convert pCO2 to fCO2, see: 
     1685         ! http://www.socat.info/Uniform_format_surface_fCO2_database.pdf 
     1686         fco2(:,:) = pco2(:,:) * EXP((-1636.75                                                                               + & 
     1687            &                         12.0408      * (tsn(:,:,1,jp_tem)+rt0)                                                 - & 
     1688            &                         0.0327957    * (tsn(:,:,1,jp_tem)+rt0)*(tsn(:,:,1,jp_tem)+rt0)                         + & 
     1689            &                         0.0000316528 * (tsn(:,:,1,jp_tem)+rt0)*(tsn(:,:,1,jp_tem)+rt0)*(tsn(:,:,1,jp_tem)+rt0) + & 
     1690            &                         2.0 * (57.7 - 0.118 * (tsn(:,:,1,jp_tem)+rt0)))                                        / & 
     1691            &                        (82.0578 * (tsn(:,:,1,jp_tem)+rt0))) 
    16791692#else 
    16801693         CALL ctl_stop( ' Trying to run fco2 observation operator', & 
     
    17101723         ENDIF 
    17111724#elif defined key_fabm 
    1712          !pco2(:,:)  =  ???                 ! pCO2 from ERSEM 
    1713          CALL ctl_stop( ' Trying to run pCO2 observation operator', & 
    1714             &           ' but not properly implemented for FABM-ERSEM yet' ) 
     1725         pco2_3d(:,:,:) = fabm_get_bulk_diagnostic_data(model, jp_fabm_o3pc) 
     1726         pco2(:,:) = pco2_3d(:,:,1) 
    17151727#else 
    17161728         CALL ctl_stop( ' Trying to run pCO2 observation operator', & 
Note: See TracChangeset for help on using the changeset viewer.