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

add carbon_model_to_core_arg_kit.f90 with comments

parent 223e98cd
No related branches found
No related tags found
No related merge requests found
......@@ -14,13 +14,19 @@ module carbon_model_to_core_arg_kit
public :: set_args
public :: get_args
public :: nmonth
!public :: dummy_init, dummy, dummy_n, dummy_ij, dummy_ijn, dummy_ijn_month, dummy_year
! параметры
! ---------------------------------------------------------------------------------
integer, parameter :: nmonth = 12
integer :: fix1, fix2
integer, parameter :: nmonth = 12
!real, target :: dummy
!real, allocatable, dimension(:), target :: dummy_n
!real, allocatable, dimension(:,:), target :: dummy_ij
!real, allocatable, dimension(:,:,:), target :: dummy_ijn
!real, allocatable, dimension(:,:,:,:), target :: dummy_ijn_month
!real, allocatable, dimension(:), target :: dummy_year
contains
......@@ -28,6 +34,30 @@ contains
! внешние процедуры
! ---------------------------------------------------------------------------------
!subroutine dummy_init()
! ! ---------------------------------------
! !< @brief заглушки для элементов программы
! use carbon_core, only: ntile
! use grid, only: i0, i1, j0, j1, ml
! !allocate(dummy)
! allocate(dummy_n(ntile))
! allocate(dummy_ij(i0:i1,j0:j1))
! allocate(dummy_ijn(i0:i1,j0:j1,ntile))
! allocate(dummy_ijn_month(i0:i1,j0:j1,ntile,nmonth))
! allocate(dummy_year(year_min:year_max))
! dummy = 0.
! dummy_n = 0.
! dummy_ij = 0.
! dummy_ijn = 0.
! dummy_ijn_month = 0.
! dummy_year = 0.
!end subroutine
subroutine set_args(arg_kit, x, x_n, x_ij, x_ijn, x_ijn_month, x_year)
! ---------------------------------------
!< @brief установка аргументов
......@@ -46,7 +76,6 @@ contains
real, optional, intent(in), target :: x_year(year_min:year_max)
integer :: n
integer :: mnc !< Количество месяцев в расчете
do n = 1, narg_default
allocate(arg_kit(n)%arg1)
......@@ -63,7 +92,63 @@ contains
arg_kit(n)%arg6 = miss_v
enddo
! arg_kit(1) - x
! if (present(x)) then
! arg_kit(1)%arg1 => x
! arg_kit(1)%arg2 => dummy_n
! arg_kit(1)%arg3 => dummy_ij
! arg_kit(1)%arg4 => dummy_ijn
! arg_kit(1)%arg5 => dummy_ijn_month
! arg_kit(1)%arg6 => dummy_year
! arg_kit(1)%num = 1
! elseif (present(x_n)) then
! arg_kit(1)%arg1 => dummy
! arg_kit(1)%arg2 => x_n
! arg_kit(1)%arg3 => dummy_ij
! arg_kit(1)%arg4 => dummy_ijn
! arg_kit(1)%arg5 => dummy_ijn_month
! arg_kit(1)%arg6 => dummy_year
! arg_kit(1)%num = 2
! elseif (present(x_ij)) then
! arg_kit(1)%arg1 => dummy
! arg_kit(1)%arg2 => dummy_n
! arg_kit(1)%arg3 => x_ij
! arg_kit(1)%arg4 => dummy_ijn
! arg_kit(1)%arg5 => dummy_ijn_month
! arg_kit(1)%arg6 => dummy_year
! arg_kit(1)%num = 3
! elseif (present(x_ijn)) then
! arg_kit(1)%arg1 => dummy
! arg_kit(1)%arg2 => dummy_n
! arg_kit(1)%arg3 => dummy_ij
! arg_kit(1)%arg4 => x_ijn
! arg_kit(1)%arg5 => dummy_ijn_month
! arg_kit(1)%arg6 => dummy_year
! arg_kit(1)%num = 4
! elseif (present(x_ijn_month)) then
! arg_kit(1)%arg1 => dummy
! arg_kit(1)%arg2 => dummy_n
! arg_kit(1)%arg3 => dummy_ij
! arg_kit(1)%arg4 => dummy_ijn
! arg_kit(1)%arg5 => x_ijn_month
! arg_kit(1)%arg6 => dummy_year
! arg_kit(1)%num = 5
! elseif (present(x_year)) then
! arg_kit(1)%arg1 => dummy
! arg_kit(1)%arg2 => dummy_n
! arg_kit(1)%arg3 => dummy_ij
! arg_kit(1)%arg4 => dummy_ijn
! arg_kit(1)%arg5 => dummy_ijn_month
! arg_kit(1)%arg6 => x_year
! arg_kit(1)%num = 6
! else! для const
! arg_kit(1)%arg1 = miss_v
! arg_kit(1)%arg2 => dummy_n
! arg_kit(1)%arg3 => dummy_ij
! arg_kit(1)%arg4 => dummy_ijn
! arg_kit(1)%arg5 => dummy_ijn_month
! arg_kit(1)%arg6 => dummy_year
! arg_kit(1)%num = 1
! end if
if (present(x)) then
arg_kit(1)%arg1 => x
......@@ -103,6 +188,11 @@ contains
real :: args(narg_default)
integer :: n
!do n = 1, narg_default
! args(n) = arg_kit(n)%arg1 + arg_kit(n)%arg2(nn) + arg_kit(n)%arg3(ii,jj) + arg_kit(n)%arg4(ii,jj,nn) + &
! & arg_kit(n)%arg5(ii,jj,nn,month) + arg_kit(n)%arg6(year)
!enddo
do n = 1, narg_default
select case(arg_kit(n)%num)
case(1)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment