diff --git a/source/carbon/carbon_models/carbon_model_INMCM.f90 b/source/carbon/carbon_models/carbon_model_INMCM.f90 index f0d26909aa96ef176b278c9af8d59256fd5a0ab8..1a0fac892b05973c57228a0d7ff1647875dd274f 100644 --- a/source/carbon/carbon_models/carbon_model_INMCM.f90 +++ b/source/carbon/carbon_models/carbon_model_INMCM.f90 @@ -34,8 +34,8 @@ contains call set_pool(pid = n_Catm, name = 'catm' ) call set_pool(pid = n_Cveg, name = 'cveg' , alias = Cveg ) - call set_pool(pid = n_Csoil, name = 'csoil' ,initial_value = 8.730624, alias = Csoil ) !8.730624 2.78124 2.806524 2.983512 2.941372 - call set_pool(pid = n_Csoilb, name = 'csoilb' ,initial_value = 0.178176, alias = Csoilb ) !0.178176 0.05676 0.057276 0.060888 0.060028 + call set_pool(pid = n_Csoil, name = 'csoil' ,initial_value = 2.78124, alias = Csoil ) !8.730624 2.78124 2.806524 2.983512 2.941372 + call set_pool(pid = n_Csoilb, name = 'csoilb' ,initial_value = 0.05676, alias = Csoilb ) !0.178176 0.05676 0.057276 0.060888 0.060028 call set_flux(fid = n_F, pid_out = n_Csoil, pid_in = n_Catm, name = 'fmicr', alias = Fmicr) call set_mult(n_F, 'lin', x_ijn = Csoil) @@ -57,7 +57,7 @@ contains call set_mult(n_F, 'const', c = cv81b) call set_flux(fid = n_F, pid_out = n_Cveg, pid_in = n_Csoil, name = 'dv68', alias = Flit) - call set_mult(n_F, 'lin', x = lambd) + call set_mult(n_F, 'lin', x_ij = lambd) call set_flux(fid = n_F, pid_out = n_Csoil, pid_in = n_Csoilb, name = 'ddc8', alias = Fers) call set_mult(n_F, 'lin', x_ijn = ers_weight, k = landuseErs) diff --git a/source/carbon/carbon_models/carbon_model_INMCM_aux.f90 b/source/carbon/carbon_models/carbon_model_INMCM_aux.f90 index a605f22d99a29a6be964e19bcbf5dfc19ecaf931..fb390a396bd5a19191cc26270b26c6f75050702c 100644 --- a/source/carbon/carbon_models/carbon_model_INMCM_aux.f90 +++ b/source/carbon/carbon_models/carbon_model_INMCM_aux.f90 @@ -1,83 +1,56 @@ module carbon_model_inmcm_aux ! интерфейс - ! ------------------------------------------------------------------------------------------------------------------- - - use const, only : pi, yrs +! ----------------------------------------------- Use pack ------------------------------------------------------------ use environment_model_inmcm, only : nv2 - use environment_core, only : Tsoil, Temp, Wsoil - use carbon_model_to_core_arg_kit, only : nmonth - use grid, only: date_c, date_fst, date_lst, dt - + use environment_core, only : Tsoil, Temp, Wsoil, lambd + use grid, only : date_c, date_fst, date_lst, dt + use config, only : station_name, station_opt + use const, only : pi, yrs, nmonth +! ---------------------------------------------- Variables ------------------------------------------------------------ implicit none - public - ! Интерфейс -! ------------------------------------------------------------------------------------------------------------------- - ! ------- Station of observation ------ - character(len=10) :: station = 'Rostov' !< Станция наблюдения за климатом ! Нужно указать название - character(len=2) :: opt = '1' !< Имя варианта подачи удобрения ! Нужно указать номер - - ! ------- Serve value ------- - integer :: mnc !< Колличество месяцев в расчете - integer :: mncX = 0 !< Номер месяца с начала работы программы !Как часть параметров для шага по времени - integer :: mnclot_fst(5) = (/1937,1939,1956,1968,1974/) !Как часть параметров для задания климатических данных - integer :: mnclot_lst(5) = (/2012,2012,2018,2018,2018/) !Как часть параметров для задания климатических данных - !DAO4 DAO3 VLDR TRGK ROST - integer :: station_n ! 1 2 3 4 5 !Как часть параметров для задания климатических данных -! ------------------------------------------------------------------------------------------------------------------- - ! Main part of INMCM - ! ---- Pools ---- - real, dimension(:,:,:), pointer :: Catm !< атмосфера - real, dimension(:,:,:), pointer :: Cveg !< растительность - real, dimension(:,:,:), pointer :: Csoil !< почва - real, dimension(:,:,:), pointer :: Csoilb !< почва типа b + real, dimension(:,:,:), pointer :: Catm !< атмосфера + real, dimension(:,:,:), pointer :: Cveg !< растительность + real, dimension(:,:,:), pointer :: Csoil !< почва + real, dimension(:,:,:), pointer :: Csoilb !< почва типа b + ! ---- Flow ---- - real, dimension(:,:,:), pointer :: Fmicr !< микробное дыхание - real, dimension(:,:,:), pointer :: Fmicrb !< микробное дыхание b - real, dimension(:,:,:), pointer :: Flit !< отмирание растений - real, dimension(:,:,:), pointer :: Fers !< почвенная эрозия + real, dimension(:,:,:), pointer :: Fmicr !< микробное дыхание + real, dimension(:,:,:), pointer :: Fmicrb !< микробное дыхание b + real, dimension(:,:,:), pointer :: Flit !< отмирание растений + real, dimension(:,:,:), pointer :: Fers !< почвенная эрозия ! ---- Constant from main program INMCM ---- real, parameter :: amrp(nv2) = (/0.5, 0.4000, 0.3864, 0.25, 0.25, 0.1250, 0.1700, 0.1909, 0.1909, 0.05, 0.05, 0.2273, 0.2273/) !< microbial respiration parameter, [umol co2/kg c/s] real, parameter :: tmin(nv2) = (/ 5., 0., -2.5, -5., -5., 5., 0., -5., 0., 0., 0., 0., 0. /) !< minimum temperature for photosynthesis, [C] - real, parameter :: tmin_soil = 0. !< эквивалент label='fst' - real, parameter :: t_ref = 25. !< референсная температура для величин типа rmf25, kc25 и тд [C] - real, parameter :: t_ref_soil = 10. !< референсная температура для величин типа Ts [C] - real, parameter :: hint = 100. !< Depth above which the total (rswa) and average (rsw) soil moisture is calculated,! в модели изначально 200. - real, parameter :: cv81b = 50. !< Decomposition time, [year] + real, parameter :: tmin_soil = 0. !< эквивалент label='fst' + real, parameter :: t_ref = 25. !< референсная температура для величин типа rmf25, kc25 и тд [C] + real, parameter :: t_ref_soil = 10. !< референсная температура для величин типа Ts [C] + real, parameter :: hint = 100. !< Depth above which the total (rswa) and average (rsw) soil moisture is calculated,! в модели изначально 200. + real, parameter :: cv81b = 50. !< Decomposition time, [year] ! ---- Landuse ---- real, parameter :: gt2year_to_kg2s = 1.e+12 / yrs real, parameter :: defor0 = 1. * gt2year_to_kg2s !real, parameter :: defor1861 = 0.54 * gt2year_to_kg2s - real, parameter :: adefr = 0.6 !< deforest/(deforest+soil erosion) + real, parameter :: adefr = 0.6 !< deforest/(deforest+soil erosion) real, parameter :: defr(nv2) = (/1.,0.2,0.2,0.05,0.05,0.2,0.2,0.2,0.02,0.02,0.2,0.5,0.5/) real, parameter :: soer(nv2) = (/1.,0.2,0.2,0.05,0.05,0.2,0.2,0.2,0.02,0.02,0.2,0.5,0.5/) - real :: landuseErs !< замена переменных для defor - real, allocatable, target :: ers_weight(:,:,:) !< пространственные веса + real :: landuseErs !< замена переменных для defor + real, allocatable, target :: ers_weight(:,:,:) !< пространственные веса real :: conversion_defor_global_to_regional - ! ---- Динамические переменные (from inmcm) ---- - real, target :: rsw(nv2) !, btran(nv2) - - ! ------ Climate variables -------- - real, allocatable :: in_temp(:) !< Поступление извне данных cредней температуры почвы в месяц, [Celsius] - real, allocatable :: in_wsoil(:) !< Поступление извне данных влажности почвы, [dim] - ! ------ Litterfall -------- - real, allocatable :: in_lambd(:) !< Поступление извне данных по поступлению углерода в почву, [kg/m**3 / year] - real :: lambd !< Поступление углерода в почву в интервал времени dt, [kg/m**3 / year / dt](lambdac) + real, target :: rsw(nv2) !< Показатель влажности на глубине contains subroutine carbon_model_init() - ! ---- Part of INMCM carbon_model_init() ---- - use grid, only : i0, i1, j0, j1, area, date_c, dlon, dlat, nlon, nlat, ich - use netcdf + use grid, only : i0, i1, j0, j1, area, date_c, dlon, dlat, nlon, nlat, ich use netcdf_kit, only : nc_errhand - use paths, only : path_inmcm_data + use paths, only : path_inmcm_data integer :: i, j, n !< count integer :: ncid, varid @@ -88,55 +61,6 @@ contains allocate(ers_weight(i0:i1,j0:j1,nv2)) - ! ---- Part of enviromental carbon_model_init() ---- - mnc = (date_lst%y - date_fst%y)*nmonth + (date_lst%m - date_fst%m) - allocate(in_temp(0:mnc)) - allocate(in_wsoil(0:mnc)) - allocate(in_lambd(0:mnc)) - - open (unit = 1, file = 'initial_value/'//trim(station)//'_Temp.txt', status='unknown') - read(1,*) in_temp(1:mnc) - close (1) - !in_temp(1:mnc) = 20. - open (unit = 1, file = 'initial_value/'//trim(station)//'_MOI.txt', status='unknown') - read(1,*) in_wsoil(1:mnc) - close (1) - !in_wsoil(1:mnc) = 0.3 - open (unit = 1, file = 'initial_value/'//trim(station)//'_'//trim(opt)//'.txt', status='unknown') - read(1,*) in_lambd(1:mnc) - close (1) - !in_lambd(1:mnc) = 0.1428*12 / yrs - in_lambd = in_lambd/dt - - select case (station) - case('Rostov') - station_n = 5 - case('DAO3', 'DAO4') - if (station == 'DAO3') then - station_n = 2 - else - station_n = 1 - end if - case('VLDMR') - station_n = 3 - case('TRGK') - station_n = 4 - case default - stop "check failed : unknown station name" - end select - - ! ---- Part of timesteps init ---- - ! @todo учесть шаг по времени 1 час - if (dt == 86400) then ! Для шага по времени день: - mncX = (date_fst%y - mnclot_fst(station_n))*nmonth + date_lst%m - date_fst%m - in_temp(0) = in_temp(1) - in_wsoil(0) = in_wsoil(1) - in_lambd(0) = in_lambd(1) - else ! Для шага по времени месяц: - mncX = (date_fst%y - mnclot_fst(station_n))*nmonth + date_lst%m - end if - - ! ---- Part of inmcm carbon_model_init() ---- ! ---- Variables from INMCM ---- if (dlon == 0.5 .and. dlat == 0.5) then @@ -219,7 +143,6 @@ contains do jj = j0, j1 do n = 1, nv2 ers_weight(ii,jj,n) = Csoil(ii,jj,n) * soer(n) / sc8 - print*, area(ii,jj), sc8, ers_weight(ii,jj,n) end do end do end do @@ -230,55 +153,26 @@ contains subroutine carbon_model_calc_at_cell(ii,jj) - ! ---- Part of environmental_calc_at_cell(ii,jj) ---- - use grid, only: date_c, area integer, intent(in) :: ii, jj - integer i, N(12), j !< count - ! ------------- Переменные для распределения значений по временному интервалу - i = date_c%m ! Номер месяца - j = date_c%d ! Номер дня месяца - N(i) = date_c%days(i) ! Количество дней в месяце - !mncX ! номер месяца с начала работы программы - - if (dt == 86400) then ! Для шага по времени день: - Temp(ii,jj) = in_temp(mncX)*sin(pi*(j-1)/(N(i)-1)) + in_temp(mncX+1)*(1-sin(pi*(j-1)/(N(i)-1))) - Wsoil(ii,jj,:) = in_wsoil(mncX)*sin(pi*(j-1)/(N(i)-1)) + in_wsoil(mncX+1)*(1-sin(pi*(j-1)/(N(i)-1))) - lambd = in_lambd(mncX)/(N(i)) - if (j == (N(i)/2)) mncX = mncX + 1 - else ! Для шага по времени месяц: - Temp(ii,jj) = in_temp(mncX) - Wsoil(ii,jj,:) = in_wsoil(mncX) - lambd = in_lambd(mncX) - !if (mncX == mnc) mncX = 0 - mncX = mncX+1 - end if - - Tsoil(ii,jj,:) = Temp(ii,jj) ! температура почвы равна температуре воздуха - !print*, 'Fmicr:', Fmicr(:,:,12) - !print*, 'Fmicrb: ', Fmicrb(:,:,12) - !print*, 'Flit: ', Flit(:,:,12) - !print*, 'Fers', Fers(:,:,12) - !write(333,*) date_c%timestamp, Fmicr(:,:,12), Fmicrb(:,:,12), Flit(:,:,12), Fers(:,:,12) - - end subroutine + subroutine carbon_model_calc_at_tile(ii,jj,nn) use grid, only : ms, ml, z use environment_model_inmcm, only : g2gw_to_cmw integer, intent(in) :: ii, jj, nn - integer :: ki + integer :: k real :: work work = 0. - do ki = ms+1, ml-1 - if (z(ki) <= hint) then - work = work + Wsoil(ii,jj,ki) * g2gw_to_cmw(ki) + do k = ms+1, ml-1 + if (z(k) <= hint) then + work = work + Wsoil(ii,jj,k) * g2gw_to_cmw(k) end if end do rsw(nn) = work / hint @@ -286,11 +180,12 @@ contains end subroutine + subroutine carbon_model_postprocessing() use grid, only : date_c - open(unit=500, file='results/'//trim(station)//'_'//trim(opt)//'.txt', status='unknown') + open(unit=500, file='results/'//trim(station_name)//'_'//trim(station_opt)//'.txt', status='unknown') write(500,*) date_c%timestamp,';',Csoil(:,:,12),';',Csoilb(:,:,12) end subroutine diff --git a/source/carbon/carbon_models/carbon_model_ROTHC_aux.f90 b/source/carbon/carbon_models/carbon_model_ROTHC_aux.f90 index ca3891b0c7183f1641c08c2ba8353b47bbb28130..4f21844b87eaef08133d683cea8d9966afcd1f84 100644 --- a/source/carbon/carbon_models/carbon_model_ROTHC_aux.f90 +++ b/source/carbon/carbon_models/carbon_model_ROTHC_aux.f90 @@ -2,17 +2,14 @@ module carbon_model_rothc_aux use const, only : yrs, day2sec, pi - use carbon_model_to_core_arg_kit, only : year_min, year_max, nmonth + use carbon_model_to_core_arg_kit, only : nmonth use grid, only: date_c, date_fst, date_lst, dt - + use config, only : station_name, station_opt + !use environment_core, only: !veg !Wsoil + implicit none ! Интерфейс ! ------------------------------------------------------------------------------------------------------------------- - ! ------- Station of observation ------ - character(len=10) :: station = 'Rostov' !< Станция наблюдения за климатом ! Нужно указать название - character(len=2) :: opt = '1' !< Имя варианта подачи удобрения ! Нужно указать номер - - ! ------- Serve value ------- integer :: mnc !< Колличество месяцев в расчете integer :: mncX = 0 !< Номер месяца с начала работы программы !Как часть параметров для шага по времени integer :: mnclot_fst(5) = (/1937,1939,1956,1968,1974/) !Как часть параметров для задания климатических данных @@ -89,23 +86,23 @@ contains allocate(in_wsoil(0:mnc)) allocate(in_lambd(0:mnc)) - open (unit = 1, file = 'initial_value/'//trim(station)//'_Temp.txt', status='unknown') + open (unit = 1, file = 'initial_value/'//trim(station_name)//'_Temp.txt', status='unknown') read(1,*) in_temp(1:mnc) close (1) - open (unit = 1, file = 'initial_value/'//trim(station)//'_Veg.txt', status='unknown') + open (unit = 1, file = 'initial_value/'//trim(station_name)//'_Veg.txt', status='unknown') read(1,*) in_veg(1:mnc) close (1) - open (unit = 1, file = 'initial_value/'//trim(station)//'_MOI.txt', status='unknown') + open (unit = 1, file = 'initial_value/'//trim(station_name)//'_MOI.txt', status='unknown') read(1,*) in_Wsoil(1:mnc) close (1) - open (unit = 1, file = 'initial_value/'//trim(station)//'_'//trim(opt)//'.txt', status='unknown') + open (unit = 1, file = 'initial_value/'//trim(station_name)//'_'//trim(station_opt)//'.txt', status='unknown') read(1,*) in_lambd(1:mnc) close (1) - select case (station) + select case (station_name) case('Rostov') sw = 0.146 bettar = 0.41 @@ -113,7 +110,7 @@ contains case('DAO3', 'DAO4') sw = 0.120 bettar = 0.25 - if (station == 'DAO3') then + if (station_name == 'DAO3') then station_n = 2 else station_n = 1 @@ -148,7 +145,7 @@ contains - subroutine carbon_model_calc_at_timestep() !Пусто + subroutine carbon_model_calc_at_timestep() end subroutine @@ -185,9 +182,9 @@ contains Tsoil = Temp ! температура почвы равна температуре воздуха ! ---- Part of rothc_calc_at_cell(ii,jj) ---- if (Wsoil >= s0) then - Fs = 1 - 0.8*(Wsoil-s0) + Fs = 1 - 0.8*(Wsoil - s0) else if (smin < Wsoil .and. Wsoil < s0) then - Fs = 0.2 + 0.8*(Wsoil-smin)/(s0-smin) + Fs = 0.2 + 0.8*(Wsoil - smin)/(s0 - smin) else if (Wsoil <= smin) then Fs = 0.2 end if @@ -207,18 +204,11 @@ contains Rs = RDPM + RRPM + RBIO + RHUM - print*, 'Temp, ', Temp - print*, 'Wsoil, ', Wsoil - print*, 'veg, ', veg - print*, 'lambd, ', lambd - !print*, 'timestamp_fst, ', timestamp_fst - !print*, 'important thing 4, ', Temp(k) - end subroutine - subroutine carbon_model_calc_at_tile(ii,jj,nn) !Пусто + subroutine carbon_model_calc_at_tile(ii,jj,nn) integer, intent(in) :: ii, jj, nn @@ -232,7 +222,7 @@ contains use grid, only : date_c - open(unit=500, file='results/'//trim(station)//'_'//trim(opt)//'.txt', status='unknown') + open(unit=500, file='results/'//trim(station_name)//'_'//trim(station_opt)//'.txt', status='unknown') write(500,*) date_c%timestamp,';',CDPM(:,:,1),';',CRPM(:,:,1),';',CBIO(:,:,1),';',CHUM(:,:,1) end subroutine diff --git a/source/carbon/carbon_models/carbon_model_SOCS.f90 b/source/carbon/carbon_models/carbon_model_SOCS.f90 index e7740b6970743073421d94c4d07666f2c40b879a..86cabd42323db460d61e0e06d345f0a1d59d37e9 100644 --- a/source/carbon/carbon_models/carbon_model_SOCS.f90 +++ b/source/carbon/carbon_models/carbon_model_SOCS.f90 @@ -19,7 +19,7 @@ module carbon_model_socs subroutine carbon_model_assembly() integer :: n_Catm, n_Cveg, n_Csoil1, n_Csoil2 !< id пулов - integer :: n_F !< id потока + integer :: n_F !< id потока call set_tiles(ntiles) diff --git a/source/carbon/carbon_models/carbon_model_SOCS_aux.f90 b/source/carbon/carbon_models/carbon_model_SOCS_aux.f90 index df7d7776676487d3448599de59fa4f078ea893c0..3c3fa171985006b6d76e5587e91705538d588ff4 100644 --- a/source/carbon/carbon_models/carbon_model_SOCS_aux.f90 +++ b/source/carbon/carbon_models/carbon_model_SOCS_aux.f90 @@ -1,11 +1,12 @@ module carbon_model_socs_aux + ! интерфейс +! ----------------------------------------------- Use pack ------------------------------------------------------------ use environment_core, only: kd, lambd - use const, only : yrs - use grid, only: date_c + use const, only : yrs + use grid, only : date_c use config, only : station_name, station_opt - -! ---------------------------------------------- Environmental factors ------------------------------------------------ +! ---------------------------------------------- Variables ------------------------------------------------------------ implicit none ! ------- Pools ------- @@ -19,7 +20,7 @@ implicit none real, dimension(:,:,:), pointer :: F_mineralization !< Между почвой1 и почвой2 (минерализация) real, dimension(:,:,:), pointer :: F_destabilization !< Между почвой2 и почвой1 (дестабилизация?) ! ------- Serve value ------- - integer, parameter :: ntiles = 2 !< В данном случае, номер пула + integer, parameter :: ntiles = 2 !< В данном случае, количество пулов ! ------- Coefficients ------------ real :: rare = 0.45 !< Доля углерода переходящего в пул защищенного C1 real :: Cm = 12. !< Max кол-во органического углерода которое может быть защищено в почве @@ -34,12 +35,14 @@ contains end subroutine + subroutine carbon_model_calc_at_timestep() end subroutine + subroutine carbon_model_calc_at_cell(ii,jj) integer, intent(in) :: ii, jj @@ -48,6 +51,7 @@ contains end subroutine + subroutine carbon_model_calc_at_tile(ii,jj,nn) integer, intent(in) :: ii, jj, nn @@ -55,6 +59,7 @@ contains end subroutine + subroutine carbon_model_postprocessing() use grid, only : date_c diff --git a/source/environment/environment_data_station.f90 b/source/environment/environment_data_station.f90 index 2ad061f17771dd0374a8a6f58104af5a305b5a72..1579a37ca35a726b3bf35d11647b20179e5763a1 100644 --- a/source/environment/environment_data_station.f90 +++ b/source/environment/environment_data_station.f90 @@ -65,8 +65,6 @@ contains allocate(in_veg(0:mnc)) allocate(in_wsoil(0:mnc)) - print*, mnc, station_name - kd_in = kd_in/yrs read(station_opt,*) opt_n @@ -144,9 +142,9 @@ contains !mncX ! Номер месяца с начала работы программы ! ------------- if (dt == 86400) then ! Для шага по времени день: - Temp(:,:) = in_temp(mncX)*sin(pi*(nod-1)/(N(nom)-1)) + in_temp(mncX+1)*(1-sin(pi*(nod-1)/(N(nom)-1))) + Temp(:,:) = in_temp(mncX)*sin(pi*(nod-1)/(N(nom)-1)) + in_temp(mncX+1)*(1-sin(pi*(nod-1)/(N(nom)-1))) Wsoil(:,:,:) = in_wsoil(mncX)*sin(pi*(nod-1)/(N(nom)-1)) + in_wsoil(mncX+1)*(1-sin(pi*(nod-1)/(N(nom)-1))) - veg(:,:) = in_veg(mncX) + veg(:,:) = in_veg(mncX) lambd(:,:) = in_lambd(mncX)/N(nom) if (nod == (N(nom)/2)) mncX = mncX + 1 else ! Для шага по времени месяц: diff --git a/ui1_config.nml b/ui1_config.nml index fd094e285a446f036a2307be3e3458bce9caac2e..05ff3229938862346bc60cf7e47dfaf2662f0b39 100644 --- a/ui1_config.nml +++ b/ui1_config.nml @@ -12,7 +12,7 @@ ! ----------------------------------------------------------------- !> Углеродная модель: - carbon_model_type = 'socs' + carbon_model_type = 'inmcm' ! ! 'inmcm' - модель inmcm [1,2] ! 'socs' - модель SOCS [3] @@ -32,14 +32,14 @@ ! 'lsm_online' - онлайн-каплинг с моделью деятельного слоя (@todo пока не поддерживается) ! дополнительно для environment_data_type = 'station': - station_name = 'DAO4' + station_name = 'TRGK' ! 'Rostov' - Станция ФАНЦ ! 'DAO3' - Станция в Долгопрудном 1 ! 'DAO4' - Станция в Долгопрудном 2 ! 'VLDMR' - Данные Владимир ! 'TRGK' - Данные Торжок - station_opt = '4' + station_opt = '1' ! '1' - контрольный случай, без дополнительных удобрений ! '2' - 2 способ подачи удобрений ! '3' - 3 способ подачи удобрений @@ -103,7 +103,7 @@ datetime_init_mode = 'manual' !auto ! ! 'manual' - задать вручную [yyyy-mm-dd hh:mm:ss] 1937 1939 1956 1968 1974 - datetime_init = '1937-01-01 00:00:00' + datetime_init = '1956-01-01 00:00:00' ! (для lsm_offline) 'auto' - получить из входного файла @@ -113,7 +113,7 @@ ! 'ntime' - указанное число шагов ntime = 1000 ! 'datetime_last' - до достижения указанной даты 2012 2018 2975 - datetime_last = '2012-01-01 00:00:00' + datetime_last = '2018-01-01 00:00:00' ! (для lsm_offline) 'auto' - до конца входного файла ! продвинутые настройки @@ -129,7 +129,7 @@ testing_log_mode = 'read' ! none, write, read - nv_singlecolumn = 1 ! Для модели INMCM нужно поставить 12, для rothc и SOCS 1 + nv_singlecolumn = 12 ! Для модели INMCM нужно поставить 12, для rothc и SOCS 1 environment_model_type = 'inmcm' ! inmcm