Closed HyunChaeJung closed 1 year ago
ocean_var_4topaz.F90 변수들 ng 수정
MODULE ocean_var_4topaz IMPLICIT NONE
! INTEGER, PUBLIC, PARAMETER :: topaz_ntrc = 41 INTEGER, PUBLIC, PARAMETER :: topaz_prog_ntrc = 30 INTEGER, PUBLIC, PARAMETER :: topaz_diag_ntrc = 11 INTEGER, PUBLIC, PARAMETER :: topaz_ntrc = topaz_prog_ntrc+topaz_diag_ntrc
TYPE BIO_TOPAZ REAL, ALLOCATABLE, DIMENSION(:,:,:) :: temp REAL, ALLOCATABLE, DIMENSION(:,:,:) :: salt REAL, ALLOCATABLE, DIMENSION(:,:) :: qsr !! penetrative solar radiation [W/m2] REAL, ALLOCATABLE, DIMENSION(:,:,:) :: rhd REAL, ALLOCATABLE, DIMENSION(:,:,:) :: fse3w, fse3t, fsdept, fsdepw REAL, ALLOCATABLE, DIMENSION(:,:,:) :: avt REAL, ALLOCATABLE, DIMENSION(:,:) :: hmlpt
.... TYPE(BIO_TOPAZ), TARGET, ALLOCATABLE :: TP(:)
- generic_TOPAZ_model.F90 ng 수정
... TYPE INTOPAZ real, allocatable :: diff_cbt(:,:,:,:) real, allocatable :: opacity(:,:,:) real, allocatable :: hblt_depth(:,:) real, allocatable :: sw_pen(:,:) real, allocatable :: rho(:,:,:,:) real, allocatable :: par(:,:,:)
real, allocatable :: dummy3d(:,:,:) real, allocatable :: hist_o2(:,:,:) integer, allocatable :: grid_kmt(:,:) real, allocatable :: grid_tmask(:,:,:) END TYPE TYPE(INTOPAZ), TARGET, ALLOCATABLE :: INTP(:)
.... SUBROUTINE generic_TOPAZ_init(ng, Ngrids, endi, endj, nlev, dt) ... allocate(INTP(ng)%diff_cbt(isd:ied,jsd:jed,nk,2)); INTP(ng)%diff_cbt = 0.0 allocate(INTP(ng)%opacity(isd:ied,jsd:jed,nk)); INTP(ng)%opacity = 0.0 allocate(INTP(ng)%hblt_depth(isd:ied,jsd:jed)); INTP(ng)%hblt_depth = 0.0 allocate(INTP(ng)%sw_pen(isd:ied,jsd:jed)); INTP(ng)%sw_pen = 0.0 allocate(INTP(ng)%rho(isd:ied,jsd:jed,nk,3)); INTP(ng)%rho = 0.0 allocate(INTP(ng)%par(isd:ied,jsd:jed,nk)); INTP(ng)%par = 0.0 ... allocate(TP(ng)%temp(isc:iec,jsc:jec,nk)); TP(ng)%temp = 0.0 allocate(TP(ng)%salt(isc:iec,jsc:jec,nk)); TP(ng)%salt = 0.0 allocate(TP(ng)%qsr(isc:iec,jsc:jec)); TP(ng)%qsr = 0.0 allocate(TP(ng)%rhd(isc:iec,jsc:jec,nk)); TP(ng)%rhd = 0.0 allocate(TP(ng)%fse3w(isc:iec,jsc:jec,nk)); TP(ng)%fse3w = 0.0 allocate(TP(ng)%fse3t(isc:iec,jsc:jec,nk)); TP(ng)%fse3t = 0.0 ... subroutine generic_TOPAZ_column_physics(ng, itt, dt) ... SUBROUTINE topaz_optic(ng) ... SUBROUTINE topaz_chl_albedo(ng) ... SUBROUTINE topaz_chl_tau(ng) ...
ocean_var_4topaz.F90 변수들 ng 수정
! INTEGER, PUBLIC, PARAMETER :: topaz_ntrc = 41 INTEGER, PUBLIC, PARAMETER :: topaz_prog_ntrc = 30 INTEGER, PUBLIC, PARAMETER :: topaz_diag_ntrc = 11 INTEGER, PUBLIC, PARAMETER :: topaz_ntrc = topaz_prog_ntrc+topaz_diag_ntrc
.... TYPE(BIO_TOPAZ), TARGET, ALLOCATABLE :: TP(:)
... TYPE INTOPAZ real, allocatable :: diff_cbt(:,:,:,:) real, allocatable :: opacity(:,:,:) real, allocatable :: hblt_depth(:,:) real, allocatable :: sw_pen(:,:) real, allocatable :: rho(:,:,:,:) real, allocatable :: par(:,:,:)
.... SUBROUTINE generic_TOPAZ_init(ng, Ngrids, endi, endj, nlev, dt) ... allocate(INTP(ng)%diff_cbt(isd:ied,jsd:jed,nk,2)); INTP(ng)%diff_cbt = 0.0 allocate(INTP(ng)%opacity(isd:ied,jsd:jed,nk)); INTP(ng)%opacity = 0.0 allocate(INTP(ng)%hblt_depth(isd:ied,jsd:jed)); INTP(ng)%hblt_depth = 0.0 allocate(INTP(ng)%sw_pen(isd:ied,jsd:jed)); INTP(ng)%sw_pen = 0.0 allocate(INTP(ng)%rho(isd:ied,jsd:jed,nk,3)); INTP(ng)%rho = 0.0 allocate(INTP(ng)%par(isd:ied,jsd:jed,nk)); INTP(ng)%par = 0.0 ... allocate(TP(ng)%temp(isc:iec,jsc:jec,nk)); TP(ng)%temp = 0.0 allocate(TP(ng)%salt(isc:iec,jsc:jec,nk)); TP(ng)%salt = 0.0 allocate(TP(ng)%qsr(isc:iec,jsc:jec)); TP(ng)%qsr = 0.0 allocate(TP(ng)%rhd(isc:iec,jsc:jec,nk)); TP(ng)%rhd = 0.0 allocate(TP(ng)%fse3w(isc:iec,jsc:jec,nk)); TP(ng)%fse3w = 0.0 allocate(TP(ng)%fse3t(isc:iec,jsc:jec,nk)); TP(ng)%fse3t = 0.0 ... subroutine generic_TOPAZ_column_physics(ng, itt, dt) ... SUBROUTINE topaz_optic(ng) ... SUBROUTINE topaz_chl_albedo(ng) ... SUBROUTINE topaz_chl_tau(ng) ...