How to set up the radiation scheme for Palaeo-simulations? – in #9: CCLM

in #9: CCLM

I am trying to use CCLM for downscaling an AGCM simulation during
several time-slices in the last millennium (e.g. LIA , MCA ). I need to adapt the Green
House Gas concentrations to that time. But the ico2_rad option do not
allow me to do so. How should I adapt the model for GHG concentrations in
such simulations.

  @bijanhassanabadifallah in #8ce06b4

I am trying to use CCLM for downscaling an AGCM simulation during
several time-slices in the last millennium (e.g. LIA , MCA ). I need to adapt the Green
House Gas concentrations to that time. But the ico2_rad option do not
allow me to do so. How should I adapt the model for GHG concentrations in
such simulations.

How to set up the radiation scheme for Palaeo-simulations?

I am trying to use CCLM for downscaling an AGCM simulation during
several time-slices in the last millennium (e.g. LIA , MCA ). I need to adapt the Green
House Gas concentrations to that time. But the ico2_rad option do not
allow me to do so. How should I adapt the model for GHG concentrations in
such simulations.

View in channel

There are two ways, a quick and a flexible one. For both first determine the equivalent CO2 concentration in ppm and convert it into mixing ratio by dividing by 658157.16

The quick one:
In src_radiation.f90 after the ico2_rad select case assign your mixing ratio to the variable zqco2

CASE (10)
    ! RCP85 scenario (for 1950 <= zyear <= 2150)
    !   eff. CO2 (all GreeHouseGases (GHG) considered)
    zqco2 = ( – 4.0501145412E+07_ireals               &
              + 7.9386473439E+04_ireals * zyear       &
              – 5.8292720579E+01_ireals * zyear*zyear &
              + 1.9002921793E-02_ireals * zyear**3    &
              – 2.3202412328E-06_ireals * zyear**4) * 1.519E-06_ireals

END SELECT zqco2 = …. ! insert your mixing ratio here

The flexible one:
in organize_physics.f90 change

  IF (ico2_rad.GT.10 )  ico2_rad  = ico2_rad_d
to
  IF (ico2_rad.GT.11 )  ico2_rad  = ico2_rad_d

in src_radiation change
  zyearmin = 1950
to
IF (ico2_rad < 11) THEN
  zyearmin = 1950
ELSE
  zyearmin =    ! .... put a year lower than the start year of your simulation period here 
and change
CASE (10)
    ! RCP85 scenario (for 1950 <= zyear <= 2150)
    !   eff. CO2 (all GreeHouseGases (GHG) considered)
    zqco2 = ( – 4.0501145412E+07_ireals               &
              + 7.9386473439E+04_ireals * zyear       &
              – 5.8292720579E+01_ireals * zyear*zyear &
              + 1.9002921793E-02_ireals * zyear**3    &
              – 2.3202412328E-06_ireals * zyear**4) * 1.519E-06_ireals

END SELECT to
CASE (10)
    ! RCP85 scenario (for 1950 <= zyear <= 2150)
    !   eff. CO2 (all GreeHouseGases (GHG) considered)
    zqco2 = ( – 4.0501145412E+07_ireals               &
              + 7.9386473439E+04_ireals * zyear       &
              – 5.8292720579E+01_ireals * zyear*zyear &
              + 1.9002921793E-02_ireals * zyear**3    &
              – 2.3202412328E-06_ireals * zyear**4) * 1.519E-06_ireals

  CASE (11)
!… last millenium
    zqco2  =     !… insert your mixing ratio here

  ENDSELECT
In the CCLM namelist PHYCTL set
ico2_rad=11
In the same way you can define several different mixing ratios with additional numbers 12, 13, 14 etc.

  @burkhardtrockel in #3b93dbf

There are two ways, a quick and a flexible one. For both first determine the equivalent CO2 concentration in ppm and convert it into mixing ratio by dividing by 658157.16

The quick one:
In src_radiation.f90 after the ico2_rad select case assign your mixing ratio to the variable zqco2

CASE (10)
    ! RCP85 scenario (for 1950 <= zyear <= 2150)
    !   eff. CO2 (all GreeHouseGases (GHG) considered)
    zqco2 = ( – 4.0501145412E+07_ireals               &
              + 7.9386473439E+04_ireals * zyear       &
              – 5.8292720579E+01_ireals * zyear*zyear &
              + 1.9002921793E-02_ireals * zyear**3    &
              – 2.3202412328E-06_ireals * zyear**4) * 1.519E-06_ireals

END SELECT zqco2 = …. ! insert your mixing ratio here

The flexible one:
in organize_physics.f90 change

  IF (ico2_rad.GT.10 )  ico2_rad  = ico2_rad_d
to
  IF (ico2_rad.GT.11 )  ico2_rad  = ico2_rad_d

in src_radiation change
  zyearmin = 1950
to
IF (ico2_rad < 11) THEN
  zyearmin = 1950
ELSE
  zyearmin =    ! .... put a year lower than the start year of your simulation period here 
and change
CASE (10)
    ! RCP85 scenario (for 1950 <= zyear <= 2150)
    !   eff. CO2 (all GreeHouseGases (GHG) considered)
    zqco2 = ( – 4.0501145412E+07_ireals               &
              + 7.9386473439E+04_ireals * zyear       &
              – 5.8292720579E+01_ireals * zyear*zyear &
              + 1.9002921793E-02_ireals * zyear**3    &
              – 2.3202412328E-06_ireals * zyear**4) * 1.519E-06_ireals

END SELECT to
CASE (10)
    ! RCP85 scenario (for 1950 <= zyear <= 2150)
    !   eff. CO2 (all GreeHouseGases (GHG) considered)
    zqco2 = ( – 4.0501145412E+07_ireals               &
              + 7.9386473439E+04_ireals * zyear       &
              – 5.8292720579E+01_ireals * zyear*zyear &
              + 1.9002921793E-02_ireals * zyear**3    &
              – 2.3202412328E-06_ireals * zyear**4) * 1.519E-06_ireals

  CASE (11)
!… last millenium
    zqco2  =     !… insert your mixing ratio here

  ENDSELECT
In the CCLM namelist PHYCTL set
ico2_rad=11
In the same way you can define several different mixing ratios with additional numbers 12, 13, 14 etc.

There are two ways, a quick and a flexible one. For both first determine the equivalent CO2 concentration in ppm and convert it into mixing ratio by dividing by 658157.16

The quick one:
In src_radiation.f90 after the ico2_rad select case assign your mixing ratio to the variable zqco2

CASE (10)
    ! RCP85 scenario (for 1950 <= zyear <= 2150)
    !   eff. CO2 (all GreeHouseGases (GHG) considered)
    zqco2 = ( – 4.0501145412E+07_ireals               &
              + 7.9386473439E+04_ireals * zyear       &
              – 5.8292720579E+01_ireals * zyear*zyear &
              + 1.9002921793E-02_ireals * zyear**3    &
              – 2.3202412328E-06_ireals * zyear**4) * 1.519E-06_ireals

END SELECT zqco2 = …. ! insert your mixing ratio here

The flexible one:
in organize_physics.f90 change

  IF (ico2_rad.GT.10 )  ico2_rad  = ico2_rad_d
to
  IF (ico2_rad.GT.11 )  ico2_rad  = ico2_rad_d

in src_radiation change
  zyearmin = 1950
to
IF (ico2_rad < 11) THEN
  zyearmin = 1950
ELSE
  zyearmin =    ! .... put a year lower than the start year of your simulation period here 
and change
CASE (10)
    ! RCP85 scenario (for 1950 <= zyear <= 2150)
    !   eff. CO2 (all GreeHouseGases (GHG) considered)
    zqco2 = ( – 4.0501145412E+07_ireals               &
              + 7.9386473439E+04_ireals * zyear       &
              – 5.8292720579E+01_ireals * zyear*zyear &
              + 1.9002921793E-02_ireals * zyear**3    &
              – 2.3202412328E-06_ireals * zyear**4) * 1.519E-06_ireals

END SELECT to
CASE (10)
    ! RCP85 scenario (for 1950 <= zyear <= 2150)
    !   eff. CO2 (all GreeHouseGases (GHG) considered)
    zqco2 = ( – 4.0501145412E+07_ireals               &
              + 7.9386473439E+04_ireals * zyear       &
              – 5.8292720579E+01_ireals * zyear*zyear &
              + 1.9002921793E-02_ireals * zyear**3    &
              – 2.3202412328E-06_ireals * zyear**4) * 1.519E-06_ireals

  CASE (11)
!… last millenium
    zqco2  =     !… insert your mixing ratio here

  ENDSELECT
In the CCLM namelist PHYCTL set
ico2_rad=11
In the same way you can define several different mixing ratios with additional numbers 12, 13, 14 etc.

I am also running some paleoclimate simulations with the cclm for different time slices starting 6000 years before present. I wanted to know, if I had to define several additional cases for different GHG s concentration for every period of study, what should be the year I have to give to zyearmin for every time slice? in my case the first year of the simulations is called 8240 and it refers to the year 4000 BC.

Thanks.

  @redc_migration in #0011d8a

I am also running some paleoclimate simulations with the cclm for different time slices starting 6000 years before present. I wanted to know, if I had to define several additional cases for different GHG s concentration for every period of study, what should be the year I have to give to zyearmin for every time slice? in my case the first year of the simulations is called 8240 and it refers to the year 4000 BC.

Thanks.

I am also running some paleoclimate simulations with the cclm for different time slices starting 6000 years before present. I wanted to know, if I had to define several additional cases for different GHG s concentration for every period of study, what should be the year I have to give to zyearmin for every time slice? in my case the first year of the simulations is called 8240 and it refers to the year 4000 BC.

Thanks.

Your case does not differ much from the case above. zyearmin and zyearmax are only needed, if you fit your GHG concentration with a polygon. These values describe the validity range of the polygon. If you do not need this, you can comment out the following lines in src_radiation.f90:

    ! Define upper limits of fitted scenarios polynoms to avoid eloping
    zyearmin = 1950
    IF (ico2_rad < 7) THEN ! SRES fitting
      zyearmax = 2100
    ELSE                   ! RCP fitting valid until 2150
      zyearmax = 2150
    ENDIF

! zyear can be modified, because it is only used for calculation of CO2 trends IF (zyear < zyearmin) THEN zyear = zyearmin ELSEIF (zyear > zyearmax) THEN zyear = zyearmax ENDIF

  @burkhardtrockel in #788bdaa

Your case does not differ much from the case above. zyearmin and zyearmax are only needed, if you fit your GHG concentration with a polygon. These values describe the validity range of the polygon. If you do not need this, you can comment out the following lines in src_radiation.f90:

    ! Define upper limits of fitted scenarios polynoms to avoid eloping
    zyearmin = 1950
    IF (ico2_rad < 7) THEN ! SRES fitting
      zyearmax = 2100
    ELSE                   ! RCP fitting valid until 2150
      zyearmax = 2150
    ENDIF

! zyear can be modified, because it is only used for calculation of CO2 trends IF (zyear < zyearmin) THEN zyear = zyearmin ELSEIF (zyear > zyearmax) THEN zyear = zyearmax ENDIF

Your case does not differ much from the case above. zyearmin and zyearmax are only needed, if you fit your GHG concentration with a polygon. These values describe the validity range of the polygon. If you do not need this, you can comment out the following lines in src_radiation.f90:

    ! Define upper limits of fitted scenarios polynoms to avoid eloping
    zyearmin = 1950
    IF (ico2_rad < 7) THEN ! SRES fitting
      zyearmax = 2100
    ELSE                   ! RCP fitting valid until 2150
      zyearmax = 2150
    ENDIF

! zyear can be modified, because it is only used for calculation of CO2 trends IF (zyear < zyearmin) THEN zyear = zyearmin ELSEIF (zyear > zyearmax) THEN zyear = zyearmax ENDIF