Commit 68aed104 authored by Gesa Meyer's avatar Gesa Meyer
Browse files

Merge branch 'develop' into 'preReleaseV2'

Merge develop into preReleaseV2

See merge request CanESM/CLASSIC!178
parents 246f7518 a7539ca8
Loading
Loading
Loading
Loading
+26 −25
Original line number Diff line number Diff line
@@ -128,38 +128,39 @@ perform_runs:parallel_intel_global_debug_build:
      #   BUILD: "parallel_intel_global_debug_build"
      #   MODE: "parallel_intel"
      #   PARAMS: "domain=global runStartYear=1850 runEndYear=1851 ctem_on=.false. fracSnowParam=Default dofire=.false. IPCP=1 fixedYearCO2=1850 transientOBSWETF=.true. transientPOPD=.true. transientLGHT=.true." #"domain=global runStartYear=1701 runEndYear=1703 ctem_on=.false. fracSnowParam=Default"
      # - RUN: "parallel_intel_global_debug_compete"
      #   BUILD: "parallel_intel_global_debug_build"
      #   MODE: "parallel_intel"
      #   PARAMS: "domain=global runStartYear=1701 runEndYear=1703 leap=.true. allLocalTime=.true. doMethane=.true. dofire=.false. PFTCompetition=.true. IZREF=1 KsatScalaron=.true. init_file=/space/hall5/sitestore/eccc/crd/ccrp/users/scrd530/classic_inputs/initfiles/global/T63/initFile_T63_9PFTs_competition_twarmm_fixed.nc"
      - RUN: "parallel_intel_global_debug_compete"
        BUILD: "parallel_intel_global_debug_build"
        MODE: "parallel_intel"
        PARAMS: "domain=global runStartYear=1701 runEndYear=1703 PFTCompetition=.true. init_file=/space/hall5/sitestore/eccc/crd/ccrp/users/scrd530/classic_inputs/initfiles/global/T63/initFile_T63_9PFTs_competition_twarmm_fixed.nc"

  needs: ["perform_builds:parallel_intel_global_debug_build"]
  except:
    - branches@cccma/classic
    - tags@cccma/classic

# perform_runs:parallel_intel_global_12pft_debug_build:
#   stage: model_runs
#   trigger:
#     include: .gitlab-ci-run.yml
#     strategy: depend
#   parallel:
#     matrix:
#       # - RUN: "parallel_intel_global_12pft_debug_baseline"
#       #   BUILD: "parallel_intel_global_12pft_debug_build"
#       #   MODE: "parallel_intel"
#       #   PARAMS: "domain=global namelist_setting=12PFT runStartYear=1701 runEndYear=1703 init_file=/space/hall5/sitestore/eccc/crd/ccrp/users/scrd530/classic_inputs/initfiles/global/T63/initFile_T63_12PFTs_e3091d0ed735fa1b7e10.nc"
#       - RUN: "parallel_intel_global_12pft_debug_CTEM_on"
perform_runs:parallel_intel_global_12pft_debug_build:
  stage: model_runs
  trigger:
    include: .gitlab-ci-run.yml
    strategy: depend
  parallel:
    matrix:
      # - RUN: "parallel_intel_global_12pft_debug_baseline"
      #   BUILD: "parallel_intel_global_12pft_debug_build"
      #   MODE: "parallel_intel"
#         PARAMS: "domain=global namelist_setting=12PFT runStartYear=1701 runEndYear=1703 init_file=/space/hall5/sitestore/eccc/crd/ccrp/users/scrd530/classic_inputs/initfiles/global/T63/initFile_T63_12PFTs_e3091d0ed735fa1b7e10.nc transientCO2=.true. dofire=.false. IPCP=1 snoAlbedoParam=4-band metFilefracFsf=/space/hall5/sitestore/eccc/crd/ccrp/users/scrd530/classic_inputs/meteorology/global/T63/CRUJRAv3.5d/fd_crujra_v3.5d_T63_1901_2024.nc blackCarbonFile=/space/hall5/sitestore/eccc/crd/ccrp/users/scrd530/classic_inputs/BC_deposition/global/T63/bcd_noleapDays_18500101_20141231_daily_T63.nc"
#       # - RUN: "parallel_intel_global_debug_CLASS"
#       #   BUILD: "parallel_intel_global_12pft_debug_build"
#       #   MODE: "parallel_intel"
#       #   PARAMS: "domain=global namelist_setting=12PFT runStartYear=1701 runEndYear=1703 init_file=/space/hall5/sitestore/eccc/crd/ccrp/users/scrd530/classic_inputs/initfiles/global/T63/initFile_T63_12PFTs_e3091d0ed735fa1b7e10.nc ctem_on=.false."
#   needs: ["perform_builds:parallel_intel_global_12pft_debug_build"]
#   except:
#     - branches@cccma/classic
#     - tags@cccma/classic
      #   PARAMS: "domain=global namelist_setting=12PFT runStartYear=1701 runEndYear=1703 init_file=/space/hall5/sitestore/eccc/crd/ccrp/users/scrd530/classic_inputs/initfiles/global/T63/initFile_T63_12PFTs_e3091d0ed735fa1b7e10.nc"
      - RUN: "parallel_intel_global_12pft_debug_CTEM_on"
        BUILD: "parallel_intel_global_12pft_debug_build"
        MODE: "parallel_intel"
        PARAMS: "domain=global namelist_setting=12PFT runStartYear=1701 runEndYear=1703 init_file=/space/hall5/sitestore/eccc/crd/ccrp/users/scrd530/classic_inputs/initfiles/global/T63/initFile_T63_12PFTs_e3091d0ed735fa1b7e10.nc transientCO2=.true. dofire=.false. IPCP=1 snoAlbedoParam=4-band metFilefracFsf=/space/hall5/sitestore/eccc/crd/ccrp/users/scrd530/classic_inputs/meteorology/global/T63/CRUJRAv3.5d/fd_crujra_v3.5d_T63_1901_2024.nc blackCarbonFile=/space/hall5/sitestore/eccc/crd/ccrp/users/scrd530/classic_inputs/BC_deposition/global/T63/bcd_noleapDays_18500101_20141231_daily_T63.nc"
      - RUN: "parallel_intel_global_12pft_debug_CLASS"
        BUILD: "parallel_intel_global_12pft_debug_build"
        MODE: "parallel_intel"
        PARAMS: "domain=global namelist_setting=12PFT runStartYear=1701 runEndYear=1703 init_file=/space/hall5/sitestore/eccc/crd/ccrp/users/scrd530/classic_inputs/initfiles/global/T63/initFile_T63_12PFTs_e3091d0ed735fa1b7e10.nc ctem_on=.false."
  needs: ["perform_builds:parallel_intel_global_12pft_debug_build"]
  except:
    - branches@cccma/classic
    - tags@cccma/classic

perform_runs:parallel_intel_canada_debug_build:
  stage: model_runs
+5 −6
Original line number Diff line number Diff line
@@ -713,6 +713,7 @@ subroutine calcLandSurfParams (FC, FG, FCS, FGS, PAICAN, PAICNS, FSVF, FSVFS, &
    FCS(I) = SUM(FCANS(I,:))
    FG (I) = 1.0 - FSNOW(I) - FC(I)
    FGS(I) = FSNOW(I) - FCS(I)

    if (ABS(1.0 - FCS(I) - FC(I)) < 8.0E-5) then
      if (FCS(I) < 1.0E-5) then
        FSNOW (I) = 0.0
@@ -1353,15 +1354,13 @@ subroutine calcLandSurfParams (FC, FG, FCS, FGS, PAICAN, PAICNS, FSVF, FSVFS, &
    CHCAPS(I) = SPHVEG * CMASCS(I) + SPHW * RAICNS(I) + SPHICE * SNOCNS(I)
    HTCC  (I) = HTCC(I) - SPHVEG * CMAI(I) * TCAN(I) / DELT

    if (ctem_on) then
    ! Removed the ctem_on if-block below; otherwise the CLASS-only run crashes.
    ! The aggregated canopy mass CMAI is calculated the same way in both ctem-on
    ! and CLASS-only configurations -- 12/2025

    CMAI  (I) = FC(I) * CMASSC(I) + FCS(I) * CMASCS(I)
    if (CMAI(I) < 1.0E-5 .and. (CMASSC(I) > 0.0 .or. &
          CMASCS(I) > 0.0)) TCAN(I) = TA(I)
    else ! CLASS (physics) only
      if (CMAI(I) < 1.0E-5 .and. (CMASSC(I) > 0.0 .or. &
          CMASCS(I) > 0.0)) TCAN(I) = TA(I)
      CMAI  (I) = FC(I) * CMASSC(I) + FCS(I) * CMASCS(I)
    end if

    HTCC  (I) = HTCC(I) + SPHVEG * CMAI(I) * TCAN(I) / DELT
    RBCOEF(I) = 0.0
+1 −0
Original line number Diff line number Diff line
@@ -736,6 +736,7 @@ module classicParams

  character(350)    :: runParamsFile
  logical          :: PFTCompetitionSwitch
  logical          :: inibioclim
  real :: zbldJobOpt, zrfhJobOpt, zrfmJobOpt
  real, dimension(ican) :: RSMN, QA50, VPDA, VPDB, PSGA, PSGB ! These are temporary variables storing these parameters until they are
                                                              ! transfered into their ROT structure in read_initialstate
+1 −1
Original line number Diff line number Diff line
@@ -1501,11 +1501,11 @@ contains
    do j = 1,icc
      do i = il1,il2
        vegfrac2(i) = vegfrac2(i) + fcancmx(i,j)
      end do
        if (crop(j)) then
          cropfrac2(i) = cropfrac2(i) + fcancmx(i,j)
        end if
      end do
    end do
    do j = 1,icc
      do i = il1,il2
        if (vegfrac2(i) > 1.0) then
+28 −0
Original line number Diff line number Diff line
@@ -1351,6 +1351,9 @@ contains
                     soilcresveggat, burnvegfgat, pstemmassgat, pgleafmassgat, &
                     ch4WetSpecgat, slopefracgat, &
                     wetfdyngat, ch4WetDyngat, ch4soillsgat, &
                     twarmmgat, tcoldmgat, gdd5gat, &
                     ariditygat, srplsmongat, defctmongat, anndefctgat, &
                     annsrplsgat, annpcpgat, dry_season_lengthgat, &
                     leafns2sgat, stemns2sgat, rootns2sgat, &
                     re_alloc_s2lgat, re_alloc_r2lgat, re_alloc_sr2lgat, &
                     litrmsmossgat, peatdepgat, peatSoilCgat, upMossSoilCgat, tracerCO2gat, &
@@ -1432,6 +1435,9 @@ contains
                     soilcresvegrow, burnvegfrow, pstemmassrow, pgleafmassrow, &
                     ch4WetSpecrow, slopefracrow, &
                     wetfdynrow, ch4WetDynrow, ch4soillsrow, &
                     twarmmrow, tcoldmrow, gdd5row, &
                     aridityrow, srplsmonrow, defctmonrow, anndefctrow, &
                     annsrplsrow, annpcprow, dry_season_lengthrow, &
                     leafns2srow, stemns2srow,  rootns2srow, &
                     re_alloc_s2lrow, re_alloc_r2lrow, re_alloc_sr2lrow, &
                     litrmsmossrow, peatdeprow, peatSoilCrow, upMossSoilCrow, tracerCO2rot, &
@@ -1678,6 +1684,17 @@ contains
    real, intent(out) :: slopefracgat(ilg,8), ch4WetSpecgat(ilg), wetfdyngat(ilg), &
                         ch4WetDyngat(ilg), ch4soillsgat(ilg)

    real, intent(in) :: twarmmrow(nlat), tcoldmrow(nlat), &
                        gdd5row(nlat), aridityrow(nlat),  &
                        srplsmonrow(nlat), defctmonrow(nlat),  &
                        anndefctrow(nlat), annsrplsrow(nlat),  &
                        annpcprow(nlat), dry_season_lengthrow(nlat)

    real, intent(out) :: twarmmgat(ilg), tcoldmgat(ilg), gdd5gat(ilg), &
                         ariditygat(ilg), srplsmongat(ilg), defctmongat(ilg), &
                         anndefctgat(ilg), annsrplsgat(ilg), annpcpgat(ilg), &
                         dry_season_lengthgat(ilg)

    !   Peatland variables
    real, intent(in)  :: peatdeprow(nlat,nmos), &
                         litrmsmossrow(nlat,nmos,ignd), peatSoilCrow(nlat,nmos)
@@ -1945,6 +1962,17 @@ contains
      upMossSoilNgat(k) = upMossSoilNrow(ilmos(k),jlmos(k))
      litrmsmossNgat(k) = litrmsmossNrow(ilmos(k),jlmos(k))  

      twarmmgat(k)   = twarmmrow(ilmos(k)) 
      tcoldmgat(k)   = tcoldmrow(ilmos(k)) 
      gdd5gat(k)     = gdd5row(ilmos(k)) 
      ariditygat(k)  =  aridityrow(ilmos(k)) 
      srplsmongat(k) = srplsmonrow(ilmos(k)) 
      defctmongat(k) = defctmonrow(ilmos(k)) 
      anndefctgat(k) = anndefctrow(ilmos(k)) 
      annsrplsgat(k) = annsrplsrow(ilmos(k)) 
      annpcpgat(k)   = annpcprow(ilmos(k)) 
      dry_season_lengthgat(k) = dry_season_lengthrow(ilmos(k)) 

      tracerMossCMassgat(k) = tracerMossCMassrot(ilmos(k),jlmos(k))
      tracermossLitrMassgat(k) = tracermossLitrMassrot(ilmos(k),jlmos(k))
    end do ! loop 100
Loading