Skip to content
Snippets Groups Projects
Commit 943eb2e7 authored by Georgiy Faikin's avatar Georgiy Faikin
Browse files

Draft, new point Arkha

parent 7accaf8a
No related branches found
No related tags found
No related merge requests found
......@@ -29,6 +29,12 @@ model_data_paths = [
f'results/{carbon_model_type}/{station}_3.txt'
]
if (station == 'Arkha'):
model_data_paths = [
f'results/{carbon_model_type}/{station}_1.txt'
]
if (station == 'DAO3') or (station == 'DAO4'):
model_data_paths = [
f'results/{carbon_model_type}/{station}_1.txt',
......
......@@ -83,9 +83,7 @@ contains
if (environment_data_type == 'station') then
select case(station_name)
case('DAO4')
select case(station_opt)
case('1')
case('Arkha')
CDPM_iv = CDPM_st_in(1,1)
CRPM_iv = CRPM_st_in(1,1)
CBIO_iv = CBIO_st_in(1,1)
......@@ -97,43 +95,6 @@ contains
Csoil_iv = Csoil_st_in (1,1)
Csoilb_iv = Csoilb_st_in(1,1)
case('2')
CDPM_iv = CDPM_st_in(1,2)
CRPM_iv = CRPM_st_in(1,2)
CBIO_iv = CBIO_st_in(1,2)
CHUM_iv = CHUM_st_in(1,2)
CIOM_iv = CIOM_st_in(1,2)
C_s1_iv = C_s1_st_in(1,2)
C_s2_iv = C_s2_st_in(1,2)
Csoil_iv = Csoil_st_in (1,2)
Csoilb_iv = Csoilb_st_in (1,2)
case('3')
CDPM_iv = CDPM_st_in(1,3)
CRPM_iv = CRPM_st_in(1,3)
CBIO_iv = CBIO_st_in(1,3)
CHUM_iv = CHUM_st_in(1,3)
CIOM_iv = CIOM_st_in(1,3)
C_s1_iv = C_s1_st_in(1,3)
C_s2_iv = C_s2_st_in(1,3)
Csoil_iv = Csoil_st_in (1,3)
Csoilb_iv = Csoilb_st_in (1,3)
case('4')
CDPM_iv = CDPM_st_in(1,4)
CRPM_iv = CRPM_st_in(1,4)
CBIO_iv = CBIO_st_in(1,4)
CHUM_iv = CHUM_st_in(1,4)
CIOM_iv = CIOM_st_in(1,4)
C_s1_iv = C_s1_st_in(1,4)
C_s2_iv = C_s2_st_in(1,4)
Csoil_iv = Csoil_st_in (1,4)
Csoilb_iv = Csoilb_st_in (1,4)
end select
case('DAO3')
select case(station_opt)
......
......@@ -230,7 +230,7 @@ module config
end select
select case(station_name)
case('Rostov', 'DAO3','DAO4', 'VLDMR', 'TRGK')
case('Rostov', 'DAO3','Arkha', 'VLDMR', 'TRGK')
case default
stop "check failed : unknown station name"
end select
......@@ -292,6 +292,10 @@ module config
stop "check failed : this station name can't work with this station_opt"
endif
if (station_name == 'Arkha' .and. (station_opt == '2' .or. station_opt == '3' .or. station_opt == '4')) then
stop "check failed : this station name can't work with this station_opt"
endif
if (carbon_model_type == 'inmcm' .and. environment_data_type == 'none') then
stop "check failed : carbon_model_type == 'inmcm' requires environment_data_type /= 'none'"
endif
......
......@@ -22,10 +22,10 @@ module environment_data_station
integer, parameter :: station_max = 5 !< Максимальное число станций
integer, parameter :: opt_max = 4 !< Максимальное количество способов подачи удобрения
integer :: opt_n !< Номер способа подачи удобрения
integer :: station_n ! DAO4 DAO3 TRGK VLDR ROST !< Номер станции наблюдения за климатом
integer :: station_n ! Arkha DAO3 TRGK VLDR ROST !< Номер станции наблюдения за климатом
! 1 2 3 4 5
integer :: mnclot_fst(station_max) = (/1935,1937,1956,1968,1975/) !< Даты начала сбора данных по климату, в рамках станции
integer :: mnclot_lst(station_max) = (/2012,2012,2018,2018,2018/) !< Даты конца сбора данных по климату, в рамках станции
integer :: mnclot_fst(station_max) = (/2014,1937,1956,1968,1975/) !< Даты начала сбора данных по климату, в рамках станции
integer :: mnclot_lst(station_max) = (/2025,2012,2018,2018,2018/) !< Даты конца сбора данных по климату, в рамках станции
! ---------------------------------------------------------------------------------------------------------------------
! ------ Determined externally ------
real(kind = 16), allocatable :: in_temp (:) !< Поступление извне данных cредней температуры воздуха в месяц, [Celsius]
......@@ -38,13 +38,13 @@ module environment_data_station
real, allocatable :: in_rainfall(:) !< Поступление извне данных влажности почвы, [mm]
real, allocatable :: in_Evpar(:) !< Поступление извне данных влажности почвы, [mm]
! station = DAO4 DAO3 TRGK VLDR ROST
! station = Arkha DAO3 TRGK VLDR ROST
! ---- For INMCM ----
real(kind = 16) :: rhodry_in(station_max) = (/1.39, 0.8, 1.4, 1.35, 2.2/)
real(kind = 16) :: rhodry_in(station_max) = (/1.05, 0.8, 1.4, 1.35, 2.2/)
!1.29 ! 1.15
! ---- For Rothc ----
real(kind = 16) :: sw_in (station_max) = (/0.120, 0.120, 0.120, 0.120, 0.120/) !0.146
real(kind = 16) :: bettar_in(station_max) = (/20., 26., 7., 8., 44./)
real(kind = 16) :: bettar_in(station_max) = (/21.86, 26., 7., 8., 44./)
! ---- For SOCs ----
real :: kd_in (station_max,opt_max) !< Коэф. перехода углерода из C2 в C1, десорбация, разрушение агрегатов
......@@ -66,7 +66,7 @@ contains
integer :: k !<count
mnc = (date_lst%y - date_fst%y)*nmonth + (date_lst%m - date_fst%m)
mnc = 132 !(date_lst%y - date_fst%y)*nmonth + (date_lst%m - date_fst%m)
allocate(in_organic(0:mnc))
allocate(in_FYM(0:mnc))
......@@ -81,7 +81,7 @@ contains
read(station_opt,*) opt_n
select case (station_name)
case('DAO4')
case('Arkha')
station_n = 1
case('DAO3')
station_n = 2
......@@ -115,13 +115,13 @@ contains
read(1,*) in_veg(1:mnc)
close (1)
open (unit = 1, file = 'initial_value/'//'climate_intake/'//trim(station_name)//'_Rainfall.txt', status='old', action = 'read')
read(1,*) in_rainfall(1:mnc)
close (1)
!open (unit = 1, file = 'initial_value/'//'climate_intake/'//trim(station_name)//'_Rainfall.txt', status='old', action = 'read')
!read(1,*) in_rainfall(1:mnc)
!close (1)
open (unit = 1, file = 'initial_value/'//'climate_intake/'//trim(station_name)//'_Evpar.txt', status='old', action = 'read')
read(1,*) in_Evpar(1:mnc)
close (1)
!open (unit = 1, file = 'initial_value/'//'climate_intake/'//trim(station_name)//'_Evpar.txt', status='old', action = 'read')
!read(1,*) in_Evpar(1:mnc)
!close (1)
in_organic = in_organic/dt
in_FYM = in_FYM/dt
......
......@@ -11,23 +11,23 @@
!> station_name = 'DAO4':
!> Date
datetime_init_1 = '1935-01-01 00:00:00'
datetime_last_1 = '2012-01-01 00:00:00'
datetime_init_1 = '2014-01-01 00:00:00'
datetime_last_1 = '2025-01-01 00:00:00'
!> Initial value
! RothC
! opt 1 2 3 4
CDPM_st_in(1,:) = 0.01944, 0.02037, 0.02037, 0.0192
CRPM_st_in(1,:) = 1.73544, 1.75515, 1.75515, 1.73087
CBIO_st_in(1,:) = 0.06188, 0.06464, 0.06464, 0.0612
CHUM_st_in(1,:) = 1.0416 , 1.14567, 1.14567, 1.01558
CIOM_st_in(1,:) = 0.245 , 0.257 , 0.257 , 0.24
! opt 1
CDPM_st_in(1,:) = 0.017849986
CRPM_st_in(1,:) = 0.570733963
CBIO_st_in(1,:) = 0.09814079
CHUM_st_in(1,:) = 3.77426532
CIOM_st_in(1,:) = 0.289035
! INMCM
Csoil_st_in(1,:) = 0.061994, 0.064774, 0.064496, 0.060882
Csoilb_st_in(1,:) = 3.037706, 3.173926, 3.160304, 2.983218
Csoil_st_in(1,:) = 0.095
Csoilb_st_in(1,:) = 4.655
! SOCS
C_s1_st_in(1,:) = 3.037706, 3.173926, 3.160304, 2.983218
C_s2_st_in(1,:) = 0.061994, 0.064774, 0.064496, 0.060882
C_s1_st_in(1,:) = 4.655
C_s2_st_in(1,:) = 0.095
!> station_name = 'DAO3':
datetime_init_2 = '1937-01-01 00:00:00'
......
......@@ -40,8 +40,8 @@
! дополнительно для environment_data_type = 'station':
!> Имя станции:
station_name = 'Rostov'
! 'DAO4' - Долгопрудная опытная станция ДАОС 4
station_name = 'Arkha'
! 'Arkha' - Долгопрудная опытная станция ДАОС 4
! 'DAO3' - Долгопрудная опытная станция ДАОС 3
! 'TRGK' - Федеральный научный центр любяных культур "Торжок"
! 'VLDMR' - Верхневолжский ФАНЦ "Владимир"
......@@ -107,24 +107,24 @@
! '2629800' - 1 месяц
!> Дата и время на момент старта:
datetime_init_mode = 'auto'
datetime_init_mode = 'manual'
!
! 'auto' - получить из входного файла (для lsm_offline)
! 'auto' - указать автоматически дату начала наблюдения станции
! 'manual' - задать вручную [yyyy-mm-dd hh:mm:ss]
datetime_init = '1935-01-01 00:00:00'
datetime_init = '2014-01-01 00:00:00'
!> Продолжительность расчета:
ntime_mode = 'auto'
ntime_mode = 'datetime_last'
!
! 'auto' - до конца входного файла (для lsm_offline)
! 'auto' - указать автоматически дату конца наблюдения станции
! 'ntime' - указанное число шагов
ntime = 1000
! 'datetime_last' - до достижения указанной даты
datetime_last = '1976-01-01 00:00:00'
datetime_last = '2175-01-01 00:00:00'
!Номер станции наблюдения за климатом
!DAO4 DAO3 TRGK VLDR ROST
!Arkha DAO3 TRGK VLDR ROST
!1935,1937,1956,1968,1975
!2012,2012,2018,2018,2018
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment