monanadmin / monan

Repositório organizacional das atividades dos macro-grupos do MONAN - Model for Ocean-laNd-Atmosphere PredictioN
14 stars 10 forks source link

[GCC] PAD: Incluir Variaveis - Caso 3 (No Pool & Niveis) - 2 #459

Closed joaomas closed 2 months ago

joaomas commented 3 months ago

:people_holding_hands: User Story

COMO Saulo, QUEREMOS alterar o código do MPAS, PARA incluir as variáveis com os níveis solicitados.

:clipboard: Critérios de aceite de conclusão da Issue

:pencil: Detalhamento adicional da atividade

:comet: Impactos

N/A

:link: Dependências

:hammer_and_wrench: Solução

... call mpas_pool_get_subpool(block_ptr % structs, 'diag_physics', diag_physics) call mpas_pool_get_subpool(block_ptr % structs, 'tend_physics', tend_physics) ... call init_atm_case_gfs(block_ptr, mesh, nCells, nEdges, nVertLevels, fg, state, & diag, diag_physics, tend_physics, block_ptr % dimensions, block_ptr % configs) ... end if ... subroutine init_atm_case_gfs(block, mesh, nCells, nEdges, nVertLevels, fg, state, diag, diag_physics, tend_physics, dims, configs) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! Real-data test case using GFS data !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ... type (mpas_pool_type), intent(inout):: diag_physics type (mpas_pool_type), intent(inout):: tend_physics ... end subroutine init_atm_case_gfs


- Entre outras, saída obtida de _kzq_ interpolada ao nível de pressão _kzq_1000hPa_:

![Image](https://github.com/monanadmin/monan/assets/98923325/8dfb83da-690b-46e6-9eed-b8ab0e1f1784)

- Aproveitou-se para validar também as variáveis similares _kzh_ e _kzm_:

![Image](https://github.com/monanadmin/monan/assets/98923325/8f43d72e-de8f-44c1-b107-a18888f4bcc2)

![Image](https://github.com/monanadmin/monan/assets/98923325/308144f4-d0b2-4b72-8b59-08797097a1e8)

- Variáveis _ni_ e _nr_ implementadas com as variáveis _scalars_, _index_ni_ e _index_nr_, e utilizadas na interpolação: 
```fortran
call mpas_pool_get_dimension(state, 'index_ni', index_ni)
call mpas_pool_get_array(state, 'scalars', scalars, time_lev)
...
field_in(iCell,kk) = scalars(index_ni,k,iCell)
...
call interp_tofixed_pressure(nCells,nVertLevels,nIntP,press_in,field_in,press_interp,field_interp)
...
ni_15hPa(1:nCells) = field_interp(1:nCells,1)

Image

Image

:rotating_light: Problemas encontrados

Image

!..Bug fix (2024Apr06), initializing value of mvd_r variable.
      do k = kts, kte
         mvd_r(k) = 0.   !EGK - bug fix
      enddo

Image

!..Bug fix (2024Apr06), initializing value of we variable.
      do i = its, ite
         we(i) = 0.   !EGK - bug fix
      enddo

:white_check_mark: Conclusão

:spiral_calendar: Trabalhos Futuros

N/A

joaomas commented 3 months ago

PO: Falta subir na branch e develop