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 7716 for branches/UKMO/dev_r5518_v3.4_asm_nemovar_community_bgc_ersem/NEMOGCM/NEMO/OPA_SRC/ASM/asmbal.F90 – NEMO

Ignore:
Timestamp:
2017-02-22T16:11:16+01:00 (6 years ago)
Author:
dford
Message:

Tidy up and simplify use of arrays for logchl assimilation balancing.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/dev_r5518_v3.4_asm_nemovar_community_bgc_ersem/NEMOGCM/NEMO/OPA_SRC/ASM/asmbal.F90

    r6983 r7716  
    7070         IF ( ln_logchltotinc .OR. ln_logchlpftinc ) THEN 
    7171#if defined key_fabm 
    72             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_chl1', logchl_balinc_ersem_chl1 ) 
    73             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_chl2', logchl_balinc_ersem_chl2 ) 
    74             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_chl3', logchl_balinc_ersem_chl3 ) 
    75             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_chl4', logchl_balinc_ersem_chl4 ) 
    76             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_p1c',  logchl_balinc_ersem_p1c  ) 
    77             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_p1n',  logchl_balinc_ersem_p1n  ) 
    78             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_p1p',  logchl_balinc_ersem_p1p  ) 
    79             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_p1s',  logchl_balinc_ersem_p1s  ) 
    80             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_p2c',  logchl_balinc_ersem_p2c  ) 
    81             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_p2n',  logchl_balinc_ersem_p2n  ) 
    82             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_p2p',  logchl_balinc_ersem_p2p  ) 
    83             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_p3c',  logchl_balinc_ersem_p3c  ) 
    84             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_p3n',  logchl_balinc_ersem_p3n  ) 
    85             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_p3p',  logchl_balinc_ersem_p3p  ) 
    86             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_p4c',  logchl_balinc_ersem_p4c  ) 
    87             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_p4n',  logchl_balinc_ersem_p4n  ) 
    88             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_p4p',  logchl_balinc_ersem_p4p  ) 
    89             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_z4c',  logchl_balinc_ersem_z4c  ) 
    90             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_z5c',  logchl_balinc_ersem_z5c  ) 
    91             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_z5n',  logchl_balinc_ersem_z5n  ) 
    92             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_z5p',  logchl_balinc_ersem_z5p  ) 
    93             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_z6c',  logchl_balinc_ersem_z6c  ) 
    94             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_z6n',  logchl_balinc_ersem_z6n  ) 
    95             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_z6p',  logchl_balinc_ersem_z6p  ) 
    96             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_n1p',  logchl_balinc_ersem_n1p  ) 
    97             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_n3n',  logchl_balinc_ersem_n3n  ) 
    98             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_n4n',  logchl_balinc_ersem_n4n  ) 
    99             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_ersem_n5s',  logchl_balinc_ersem_n5s  ) 
     72            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_chl1', logchl_balinc(:,:,:,jp_fabm_m1+jp_fabm_chl1) ) 
     73            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_chl2', logchl_balinc(:,:,:,jp_fabm_m1+jp_fabm_chl2) ) 
     74            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_chl3', logchl_balinc(:,:,:,jp_fabm_m1+jp_fabm_chl3) ) 
     75            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_chl4', logchl_balinc(:,:,:,jp_fabm_m1+jp_fabm_chl4) ) 
    10076#elif defined key_medusa && defined key_foam_medusa 
    101             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_chn', logchl_balinc_medusa_chn ) 
    102             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_chd', logchl_balinc_medusa_chd ) 
    103             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_phn', logchl_balinc_medusa_phn ) 
    104             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_phd', logchl_balinc_medusa_phd ) 
    105             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_pds', logchl_balinc_medusa_pds ) 
    106             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_zmi', logchl_balinc_medusa_zmi ) 
    107             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_zme', logchl_balinc_medusa_zme ) 
    108             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_din', logchl_balinc_medusa_din ) 
    109             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_sil', logchl_balinc_medusa_sil ) 
    110             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_fer', logchl_balinc_medusa_fer ) 
    111             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_det', logchl_balinc_medusa_det ) 
    112             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_dtc', logchl_balinc_medusa_dtc ) 
    113             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_dic', logchl_balinc_medusa_dic ) 
    114             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_alk', logchl_balinc_medusa_alk ) 
    115             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_medusa_oxy', logchl_balinc_medusa_oxy ) 
     77            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_chn', logchl_balinc(:,:,:,jpchn) ) 
     78            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_chd', logchl_balinc(:,:,:,jpchd) ) 
     79            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_phn', logchl_balinc(:,:,:,jpphn) ) 
     80            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_phd', logchl_balinc(:,:,:,jpphd) ) 
     81            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_pds', logchl_balinc(:,:,:,jppds) ) 
     82            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_zmi', logchl_balinc(:,:,:,jpzmi) ) 
     83            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_zme', logchl_balinc(:,:,:,jpzme) ) 
     84            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_din', logchl_balinc(:,:,:,jpdin) ) 
     85            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_sil', logchl_balinc(:,:,:,jpsil) ) 
     86            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_fer', logchl_balinc(:,:,:,jpfer) ) 
     87            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_det', logchl_balinc(:,:,:,jpdet) ) 
     88            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_dtc', logchl_balinc(:,:,:,jpdtc) ) 
     89            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_dic', logchl_balinc(:,:,:,jpdic) ) 
     90            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_alk', logchl_balinc(:,:,:,jpalk) ) 
     91            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_oxy', logchl_balinc(:,:,:,jpoxy) ) 
    11692#elif defined key_hadocc 
    117             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_hadocc_nut', logchl_balinc_hadocc_nut ) 
    118             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_hadocc_phy', logchl_balinc_hadocc_phy ) 
    119             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_hadocc_zoo', logchl_balinc_hadocc_zoo ) 
    120             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_hadocc_det', logchl_balinc_hadocc_det ) 
    121             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_hadocc_dic', logchl_balinc_hadocc_dic ) 
    122             CALL iom_rstput( kt, kt, inum, 'logchl_balinc_hadocc_alk', logchl_balinc_hadocc_alk ) 
     93            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_nut', logchl_balinc(:,:,:,jp_had_nut) ) 
     94            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_phy', logchl_balinc(:,:,:,jp_had_phy) ) 
     95            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_zoo', logchl_balinc(:,:,:,jp_had_zoo) ) 
     96            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_det', logchl_balinc(:,:,:,jp_had_det) ) 
     97            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_dic', logchl_balinc(:,:,:,jp_had_dic) ) 
     98            CALL iom_rstput( kt, kt, inum, 'logchl_balinc_alk', logchl_balinc(:,:,:,jp_had_alk) ) 
    12399#endif 
    124100         ENDIF 
Note: See TracChangeset for help on using the changeset viewer.