HCJung-jbnu / ROMS-TOPAZ

ROMS + TOPAZ coupling
0 stars 0 forks source link

TOPAZ-SA 소스코드 ngrids 적용 #12

Closed HyunChaeJung closed 1 year ago

HyunChaeJung commented 1 year ago

! 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) ...