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) - 7 #463

Closed joaomas closed 2 months ago

joaomas commented 3 months ago

:people_holding_hands: User Story

COMO Saulo, QUEREMOS alterar o código do MONAN, 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

Image

:comet: Impactos

-.

:link: Dependências

-.

:hammer_and_wrench: Solução

Issues de referências: https://github.com/monanadmin/monan/issues/459, https://github.com/monanadmin/monan/issues/438 e https://github.com/monanadmin/monan/issues/433

Seguindo DTN-06: https://docs.google.com/document/d/1gGO4c5s5iDjz3s45aE4PvyWNO3t0DC_g1RNctetEAh8/edit**

1 - Criando feature

$ git checkout develop
$ git flow init
$ git pull
$ git flow feature start monan-463-QI

Switched to a new branch 'feature/monan-463-QI'

Summary of actions:
- A new branch 'feature/monan-463-QI' was created, based on 'develop'
- You are now on branch 'feature/monan-463-QI'

Now, start committing on your feature. When done, use:

     git flow feature finish monan-463-QI

$ git push --set-upstream origin feature/monan-463-QI

Total 0 (delta 0), reused 0 (delta 0)
remote: 
remote: Create a pull request for 'feature/monan-463-QI' on GitHub by visiting:
remote:      https://github.com/monanadmin/MONAN-Model/pull/new/feature/monan-463-QI
remote: 
To github.com:monanadmin/MONAN-Model.git
 * [new branch]      feature/monan-463-QI -> feature/monan-463-QI
Branch 'feature/monan-463-QI' set up to track remote branch 'feature/monan-463-QI' from 'origin'.

2 - Alteração no código

Alterado Registry.xml, Registry_isobaric.xml e mpas_isobaric_diagnostics.F para a inclusão das variáveis rvcuten e rvblten

scr/core_atmosphere/Registry.xml

        <var name="rvcuten_15hPa"/>
            <var name="rvcuten_20hPa"/>
        <var name="rvcuten_30hPa"/>
            <var name="rvcuten_50hPa"/>
            <var name="rvcuten_70hPa"/>
            <var name="rvcuten_100hPa"/>
            <var name="rvcuten_150hPa"/>
            <var name="rvcuten_200hPa"/>
            <var name="rvcuten_250hPa"/>
            <var name="rvcuten_300hPa"/>
            <var name="rvcuten_400hPa"/>
            <var name="rvcuten_500hPa"/>
            <var name="rvcuten_600hPa"/>
            <var name="rvcuten_700hPa"/>
            <var name="rvcuten_825hPa"/>
            <var name="rvcuten_850hPa"/>
            <var name="rvcuten_875hPa"/>
            <var name="rvcuten_900hPa"/>
            <var name="rvcuten_925hPa"/>
            <var name="rvcuten_950hPa"/>
            <var name="rvcuten_975hPa"/>
            <var name="rvcuten_1000hPa"/>            
            <var name="rvblten_15hPa"/>
            <var name="rvblten_20hPa"/>
            <var name="rvblten_30hPa"/>
            <var name="rvblten_50hPa"/>
            <var name="rvblten_70hPa"/>
            <var name="rvblten_100hPa"/>
            <var name="rvblten_150hPa"/>
            <var name="rvblten_200hPa"/>
            <var name="rvblten_250hPa"/>
            <var name="rvblten_300hPa"/>
            <var name="rvblten_400hPa"/>
            <var name="rvblten_500hPa"/>
            <var name="rvblten_600hPa"/>
            <var name="rvblten_700hPa"/>
            <var name="rvblten_825hPa"/>
            <var name="rvblten_850hPa"/>
            <var name="rvblten_875hPa"/>
            <var name="rvblten_900hPa"/>
            <var name="rvblten_925hPa"/>
            <var name="rvblten_950hPa"/>
            <var name="rvblten_975hPa"/>
            <var name="rvblten_1000hPa"/>    

scr/core_atmosphere/diagnostics/Registry_isobaric.xml

       <var name="rvcuten_15hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 15 hPa"/>

        <var name="rvcuten_20hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 20 hPa"/>

        <var name="rvcuten_30hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 30 hPa"/>

        <var name="rvcuten_50hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 50 hPa"/>

        <var name="rvcuten_70hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 70 hPa"/>

        <var name="rvcuten_100hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 100 hPa"/>

        <var name="rvcuten_150hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 150 hPa"/>

        <var name="rvcuten_200hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 200 hPa"/>

        <var name="rvcuten_250hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 250 hPa"/>

        <var name="rvcuten_300hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 300 hPa"/>

        <var name="rvcuten_400hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 400 hPa"/>

        <var name="rvcuten_500hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 500 hPa"/>

        <var name="rvcuten_600hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 600 hPa"/>

        <var name="rvcuten_700hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 700 hPa"/>

        <var name="rvcuten_825hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 825 hPa"/>

        <var name="rvcuten_850hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 850 hPa"/>

        <var name="rvcuten_875hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 875 hPa"/>

        <var name="rvcuten_900hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="TTendency of meridional wind due to cumulus convection 900 hPa"/>

        <var name="rvcuten_925hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 925 hPa"/>

        <var name="rvcuten_950hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 950 hPa"/>

        <var name="rvcuten_975hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to cumulus convection 975 hPa"/>

        <var name="rvcuten_1000hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
        description="Tendency of meridional wind due to cumulus convection 1000 hPa"/>

        <var name="rvblten_15hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 15 hPa"/>

        <var name="rvblten_20hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 20 hPa"/>

        <var name="rvblten_30hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 30 hPa"/>

        <var name="rvblten_50hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 50 hPa"/>

        <var name="rvblten_70hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 70 hPa"/>

        <var name="rvblten_100hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 100 hPa"/>

        <var name="rvblten_150hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 150 hPa"/>

        <var name="rvblten_200hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 200 hPa"/>

        <var name="rvblten_250hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 250 hPa"/>

        <var name="rvblten_300hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 300 hPa"/>

        <var name="rvblten_400hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 400 hPa"/>

        <var name="rvblten_500hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 500 hPa"/>

        <var name="rvblten_600hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 600 hPa"/>

        <var name="rvblten_700hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 700 hPa"/>

        <var name="rvblten_825hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 825 hPa"/>

        <var name="rvblten_850hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 850 hPa"/>

        <var name="rvblten_875hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 875 hPa"/>

        <var name="rvblten_900hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 900 hPa"/>

        <var name="rvblten_925hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 925 hPa"/>

        <var name="rvblten_950hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 950 hPa"/>

        <var name="rvblten_975hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
             description="Tendency of meridional wind due to pbl processes 975 hPa"/>

        <var name="rvblten_1000hPa" type="real" dimensions="nCells Time"  units="m s^{-1} s^{-1}"
        description="Tendency of meridional wind due to pbl processes 1000 hPa"/>

scr/core_atmosphere/diagnostics/mpas_isobaric_diagnostics.F

need_rvcuten_15, need_rvcuten_20, need_rvcuten_30, need_rvcuten_50, need_rvcuten_70, need_rvcuten_100, need_rvcuten_150, need_rvcuten_200, need_rvcuten_250, need_rvcuten_300, need_rvcuten_400, need_rvcuten_500, need_rvcuten_600, need_rvcuten_700, need_rvcuten_825, need_rvcuten_850, need_rvcuten_875, need_rvcuten_900, need_rvcuten_925, need_rvcuten_950, need_rvcuten_975, need_rvcuten_1000, &

need_rvblten_15, need_rvblten_20, need_rvblten_30, need_rvblten_50, need_rvblten_70, need_rvblten_100, need_rvblten_150, need_rvblten_200, need_rvblten_250, need_rvblten_300, need_rvblten_400, need_rvblten_500, need_rvblten_600, need_rvblten_700, need_rvblten_825, need_rvblten_850, need_rvblten_875, need_rvblten_900, need_rvblten_925, need_rvblten_950, need_rvblten_975, need_rvblten_1000, &

...

need_height, need_spechum, need_geoph, need_rqvblten, need_rqvcuten, need_rthratenlw, need_rucuten, need_rvcuten, need_rvblten, &

...

        need_rvcuten = .false.
        need_rvblten = .false.

...

        need_rucuten_15 = MPAS_field_will_be_written('rucuten_15hPa')
        need_rucuten = need_rucuten .or. need_rucuten_15
        need_any_diags = need_any_diags .or. need_rucuten_15
        need_rucuten_20 = MPAS_field_will_be_written('rucuten_20hPa')
        need_rucuten = need_rucuten .or. need_rucuten_20
        need_any_diags = need_any_diags .or. need_rucuten_20
        need_rucuten_30 = MPAS_field_will_be_written('rucuten_30hPa')
        need_rucuten = need_rucuten .or. need_rucuten_30
        need_any_diags = need_any_diags .or. need_rucuten_30
        need_rucuten_50 = MPAS_field_will_be_written('rucuten_50hPa')
        need_rucuten = need_rucuten .or. need_rucuten_50
        need_any_diags = need_any_diags .or. need_rucuten_50
        need_rucuten_70 = MPAS_field_will_be_written('rucuten_70hPa')
        need_rucuten = need_rucuten .or. need_rucuten_70
        need_any_diags = need_any_diags .or. need_rucuten_70
        need_rucuten_100 = MPAS_field_will_be_written('rucuten_100hPa')
        need_rucuten = need_rucuten .or. need_rucuten_100
        need_any_diags = need_any_diags .or. need_rucuten_100
        need_rucuten_150 = MPAS_field_will_be_written('rucuten_150hPa')
        need_rucuten = need_rucuten .or. need_rucuten_150
        need_any_diags = need_any_diags .or. need_rucuten_150
        need_rucuten_200 = MPAS_field_will_be_written('rucuten_200hPa')
        need_rucuten = need_rucuten .or. need_rucuten_200
        need_any_diags = need_any_diags .or. need_rucuten_200
        need_rucuten_250 = MPAS_field_will_be_written('rucuten_250hPa')
        need_rucuten = need_rucuten .or. need_rucuten_250
        need_any_diags = need_any_diags .or. need_rucuten_250
        need_rucuten_300 = MPAS_field_will_be_written('rucuten_300hPa')
        need_rucuten = need_rucuten .or. need_rucuten_300
        need_any_diags = need_any_diags .or. need_rucuten_300
        need_rucuten_400 = MPAS_field_will_be_written('rucuten_400hPa')
        need_rucuten = need_rucuten .or. need_rucuten_400
        need_any_diags = need_any_diags .or. need_rucuten_400
        need_rucuten_500 = MPAS_field_will_be_written('rucuten_500hPa')
        need_rucuten = need_rucuten .or. need_rucuten_500
        need_any_diags = need_any_diags .or. need_rucuten_500
        need_rucuten_600 = MPAS_field_will_be_written('rucuten_600hPa')
        need_rucuten = need_rucuten .or. need_rucuten_600
        need_any_diags = need_any_diags .or. need_rucuten_600
        need_rucuten_700 = MPAS_field_will_be_written('rucuten_700hPa')
        need_rucuten = need_rucuten .or. need_rucuten_700
        need_any_diags = need_any_diags .or. need_rucuten_700
        need_rucuten_825 = MPAS_field_will_be_written('rucuten_825hPa')
        need_rucuten = need_rucuten .or. need_rucuten_825
        need_any_diags = need_any_diags .or. need_rucuten_825
        need_rucuten_850 = MPAS_field_will_be_written('rucuten_850hPa')
        need_rucuten = need_rucuten .or. need_rucuten_850
        need_any_diags = need_any_diags .or. need_rucuten_850
        need_rucuten_875 = MPAS_field_will_be_written('rucuten_875hPa')
        need_rucuten = need_rucuten .or. need_rucuten_875
        need_any_diags = need_any_diags .or. need_rucuten_875
        need_rucuten_900 = MPAS_field_will_be_written('rucuten_900hPa')
        need_rucuten = need_rucuten .or. need_rucuten_900
        need_any_diags = need_any_diags .or. need_rucuten_900
        need_rucuten_925 = MPAS_field_will_be_written('rucuten_925hPa')
        need_rucuten = need_rucuten .or. need_rucuten_925
        need_any_diags = need_any_diags .or. need_rucuten_925
        need_rucuten_950 = MPAS_field_will_be_written('rucuten_950hPa')
        need_rucuten = need_rucuten .or. need_rucuten_950
        need_any_diags = need_any_diags .or. need_rucuten_950
        need_rucuten_975 = MPAS_field_will_be_written('rucuten_975hPa')
        need_rucuten = need_rucuten .or. need_rucuten_975
        need_any_diags = need_any_diags .or. need_rucuten_975
        need_rucuten_1000 = MPAS_field_will_be_written('rucuten_1000hPa')
        need_rucuten = need_rucuten .or. need_rucuten_1000
        need_any_diags = need_any_diags .or. need_rucuten_1000

        need_rvblten_15 = MPAS_field_will_be_written('rvblten_15hPa')
        need_rvblten = need_rvblten .or. need_rvblten_15
        need_any_diags = need_any_diags .or. need_rvblten_15
        need_rvblten_20 = MPAS_field_will_be_written('rvblten_20hPa')
        need_rvblten = need_rvblten .or. need_rvblten_20
        need_any_diags = need_any_diags .or. need_rvblten_20
        need_rvblten_30 = MPAS_field_will_be_written('rvblten_30hPa')
        need_rvblten = need_rvblten .or. need_rvblten_30
        need_any_diags = need_any_diags .or. need_rvblten_30
        need_rvblten_50 = MPAS_field_will_be_written('rvblten_50hPa')
        need_rvblten = need_rvblten .or. need_rvblten_50
        need_any_diags = need_any_diags .or. need_rvblten_50
        need_rvblten_70 = MPAS_field_will_be_written('rvblten_70hPa')
        need_rvblten = need_rvblten .or. need_rvblten_70
        need_any_diags = need_any_diags .or. need_rvblten_70
        need_rvblten_100 = MPAS_field_will_be_written('rvblten_100hPa')
        need_rvblten = need_rvblten .or. need_rvblten_100
        need_any_diags = need_any_diags .or. need_rvblten_100
        need_rvblten_150 = MPAS_field_will_be_written('rvblten_150hPa')
        need_rvblten = need_rvblten .or. need_rvblten_150
        need_any_diags = need_any_diags .or. need_rvblten_150
        need_rvblten_200 = MPAS_field_will_be_written('rvblten_200hPa')
        need_rvblten = need_rvblten .or. need_rvblten_200
        need_any_diags = need_any_diags .or. need_rvblten_200
        need_rvblten_250 = MPAS_field_will_be_written('rvblten_250hPa')
        need_rvblten = need_rvblten .or. need_rvblten_250
        need_any_diags = need_any_diags .or. need_rvblten_250
        need_rvblten_300 = MPAS_field_will_be_written('rvblten_300hPa')
        need_rvblten = need_rvblten .or. need_rvblten_300
        need_any_diags = need_any_diags .or. need_rvblten_300
        need_rvblten_400 = MPAS_field_will_be_written('rvblten_400hPa')
        need_rvblten = need_rvblten .or. need_rvblten_400
        need_any_diags = need_any_diags .or. need_rvblten_400
        need_rvblten_500 = MPAS_field_will_be_written('rvblten_500hPa')
        need_rvblten = need_rvblten .or. need_rvblten_500
        need_any_diags = need_any_diags .or. need_rvblten_500
        need_rvblten_600 = MPAS_field_will_be_written('rvblten_600hPa')
        need_rvblten = need_rvblten .or. need_rvblten_600
        need_any_diags = need_any_diags .or. need_rvblten_600
        need_rvblten_700 = MPAS_field_will_be_written('rvblten_700hPa')
        need_rvblten = need_rvblten .or. need_rvblten_700
        need_any_diags = need_any_diags .or. need_rvblten_700
        need_rvblten_825 = MPAS_field_will_be_written('rvblten_825hPa')
        need_rvblten = need_rvblten .or. need_rvblten_825
        need_any_diags = need_any_diags .or. need_rvblten_825
        need_rvblten_850 = MPAS_field_will_be_written('rvblten_850hPa')
        need_rvblten = need_rvblten .or. need_rvblten_850
        need_any_diags = need_any_diags .or. need_rvblten_850
        need_rvblten_875 = MPAS_field_will_be_written('rvblten_875hPa')
        need_rvblten = need_rvblten .or. need_rvblten_875
        need_any_diags = need_any_diags .or. need_rvblten_875
        need_rvblten_900 = MPAS_field_will_be_written('rvblten_900hPa')
        need_rvblten = need_rvblten .or. need_rvblten_900
        need_any_diags = need_any_diags .or. need_rvblten_900
        need_rvblten_925 = MPAS_field_will_be_written('rvblten_925hPa')
        need_rvblten = need_rvblten .or. need_rvblten_925
        need_any_diags = need_any_diags .or. need_rvblten_925
        need_rvblten_950 = MPAS_field_will_be_written('rvblten_950hPa')
        need_rvblten = need_rvblten .or. need_rvblten_950
        need_any_diags = need_any_diags .or. need_rvblten_950
        need_rvblten_975 = MPAS_field_will_be_written('rvblten_975hPa')
        need_rvblten = need_rvblten .or. need_rvblten_975
        need_any_diags = need_any_diags .or. need_rvblten_975
        need_rvblten_1000 = MPAS_field_will_be_written('rvblten_1000hPa')
        need_rvblten = need_rvblten .or. need_rvblten_1000
        need_any_diags = need_any_diags .or. need_rvblten_1000

...

real (kind=RKIND), dimension(:,:), pointer :: rvcuten, rvblten

...

       real (kind=RKIND), dimension(:), pointer :: rvcuten_15hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_20hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_30hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_50hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_70hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_100hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_150hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_200hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_250hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_300hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_400hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_500hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_600hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_700hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_825hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_850hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_875hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_900hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_925hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_950hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_975hPa
        real (kind=RKIND), dimension(:), pointer :: rvcuten_1000hPa   

    real (kind=RKIND), dimension(:), pointer :: rvblten_15hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_20hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_30hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_50hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_70hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_100hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_150hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_200hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_250hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_300hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_400hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_500hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_600hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_700hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_825hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_850hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_875hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_900hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_925hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_950hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_975hPa
        real (kind=RKIND), dimension(:), pointer :: rvblten_1000hPa    

 ...

        call mpas_pool_get_array(tend_physics, 'rvcuten', rvcuten)
        call mpas_pool_get_array(tend_physics, 'rvblten', rvblten)

 ...

        call mpas_pool_get_array(diag, 'rvcuten_15hPa', rvcuten_15hPa)
        call mpas_pool_get_array(diag, 'rvcuten_20hPa', rvcuten_20hPa)
        call mpas_pool_get_array(diag, 'rvcuten_30hPa', rvcuten_30hPa)
        call mpas_pool_get_array(diag, 'rvcuten_50hPa', rvcuten_50hPa)
        call mpas_pool_get_array(diag, 'rvcuten_70hPa', rvcuten_70hPa)
        call mpas_pool_get_array(diag, 'rvcuten_100hPa', rvcuten_100hPa)
        call mpas_pool_get_array(diag, 'rvcuten_150hPa', rvcuten_150hPa)
        call mpas_pool_get_array(diag, 'rvcuten_200hPa', rvcuten_200hPa)
        call mpas_pool_get_array(diag, 'rvcuten_250hPa', rvcuten_250hPa)
        call mpas_pool_get_array(diag, 'rvcuten_300hPa', rvcuten_300hPa)
        call mpas_pool_get_array(diag, 'rvcuten_400hPa', rvcuten_400hPa)
        call mpas_pool_get_array(diag, 'rvcuten_500hPa', rvcuten_500hPa)
        call mpas_pool_get_array(diag, 'rvcuten_600hPa', rvcuten_600hPa)
        call mpas_pool_get_array(diag, 'rvcuten_700hPa', rvcuten_700hPa)
        call mpas_pool_get_array(diag, 'rvcuten_825hPa', rvcuten_825hPa)
        call mpas_pool_get_array(diag, 'rvcuten_850hPa', rvcuten_850hPa)
        call mpas_pool_get_array(diag, 'rvcuten_875hPa', rvcuten_875hPa)
        call mpas_pool_get_array(diag, 'rvcuten_900hPa', rvcuten_900hPa)
        call mpas_pool_get_array(diag, 'rvcuten_925hPa', rvcuten_925hPa)
        call mpas_pool_get_array(diag, 'rvcuten_950hPa', rvcuten_950hPa)
        call mpas_pool_get_array(diag, 'rvcuten_975hPa', rvcuten_975hPa)
        call mpas_pool_get_array(diag, 'rvcuten_1000hPa', rvcuten_1000hPa)      

        call mpas_pool_get_array(diag, 'rvblten_15hPa', rvblten_15hPa)
        call mpas_pool_get_array(diag, 'rvblten_20hPa', rvblten_20hPa)
        call mpas_pool_get_array(diag, 'rvblten_30hPa', rvblten_30hPa)
        call mpas_pool_get_array(diag, 'rvblten_50hPa', rvblten_50hPa)
        call mpas_pool_get_array(diag, 'rvblten_70hPa', rvblten_70hPa)
        call mpas_pool_get_array(diag, 'rvblten_100hPa', rvblten_100hPa)
        call mpas_pool_get_array(diag, 'rvblten_150hPa', rvblten_150hPa)
        call mpas_pool_get_array(diag, 'rvblten_200hPa', rvblten_200hPa)
        call mpas_pool_get_array(diag, 'rvblten_250hPa', rvblten_250hPa)
        call mpas_pool_get_array(diag, 'rvblten_300hPa', rvblten_300hPa)
        call mpas_pool_get_array(diag, 'rvblten_400hPa', rvblten_400hPa)
        call mpas_pool_get_array(diag, 'rvblten_500hPa', rvblten_500hPa)
        call mpas_pool_get_array(diag, 'rvblten_600hPa', rvblten_600hPa)
        call mpas_pool_get_array(diag, 'rvblten_700hPa', rvblten_700hPa)
        call mpas_pool_get_array(diag, 'rvblten_825hPa', rvblten_825hPa)
        call mpas_pool_get_array(diag, 'rvblten_850hPa', rvblten_850hPa)
        call mpas_pool_get_array(diag, 'rvblten_875hPa', rvblten_875hPa)
        call mpas_pool_get_array(diag, 'rvblten_900hPa', rvblten_900hPa)
        call mpas_pool_get_array(diag, 'rvblten_925hPa', rvblten_925hPa)
        call mpas_pool_get_array(diag, 'rvblten_950hPa', rvblten_950hPa)
        call mpas_pool_get_array(diag, 'rvblten_975hPa', rvblten_975hPa)
        call mpas_pool_get_array(diag, 'rvblten_1000hPa', rvblten_1000hPa)   

 ...

   if (NEED_RVCUTEN) then
         !... rvcuten:
          do iCell = 1, nCells
          do k = 1, nVertLevels
             kk = nVertLevels+1-k
             field_in(iCell,kk) = rvcuten(k,iCell)
          enddo
          enddo
          call interp_tofixed_pressure(nCells,nVertLevels,nIntP,press_in,field_in,press_interp,field_interp)

          rvcuten_15hPa(1:nCells) = field_interp(1:nCells,1)
          rvcuten_20hPa(1:nCells) = field_interp(1:nCells,2)
          rvcuten_30hPa(1:nCells) = field_interp(1:nCells,3)
          rvcuten_50hPa(1:nCells) = field_interp(1:nCells,4)
          rvcuten_70hPa(1:nCells) = field_interp(1:nCells,5)
          rvcuten_100hPa(1:nCells) = field_interp(1:nCells,6)
          rvcuten_150hPa(1:nCells) = field_interp(1:nCells,7)
          rvcuten_200hPa(1:nCells) = field_interp(1:nCells,8)
          rvcuten_250hPa(1:nCells) = field_interp(1:nCells,9)
          rvcuten_300hPa(1:nCells) = field_interp(1:nCells,10)
          rvcuten_400hPa(1:nCells) = field_interp(1:nCells,11)
          rvcuten_500hPa(1:nCells) = field_interp(1:nCells,12)
          rvcuten_600hPa(1:nCells) = field_interp(1:nCells,13)
          rvcuten_700hPa(1:nCells) = field_interp(1:nCells,14)
          rvcuten_825hPa(1:nCells) = field_interp(1:nCells,15)
          rvcuten_850hPa(1:nCells) = field_interp(1:nCells,16)
          rvcuten_875hPa(1:nCells) = field_interp(1:nCells,17)
          rvcuten_900hPa(1:nCells) = field_interp(1:nCells,18)
          rvcuten_925hPa(1:nCells) = field_interp(1:nCells,19)
          rvcuten_950hPa(1:nCells) = field_interp(1:nCells,20)
          rvcuten_975hPa(1:nCells) = field_interp(1:nCells,21)
          rvcuten_1000hPa(1:nCells) = field_interp(1:nCells,22)
          ! call mpas_log_write('--- end interpolate rvcuten:')
        end if

 if (NEED_RVBLTEN) then
         !... rvblten:
          do iCell = 1, nCells
          do k = 1, nVertLevels
             kk = nVertLevels+1-k
             field_in(iCell,kk) = rvblten(k,iCell)
          enddo
          enddo
          call interp_tofixed_pressure(nCells,nVertLevels,nIntP,press_in,field_in,press_interp,field_interp)

          rvblten_15hPa(1:nCells) = field_interp(1:nCells,1)
          rvblten_20hPa(1:nCells) = field_interp(1:nCells,2)
          rvblten_30hPa(1:nCells) = field_interp(1:nCells,3)
          rvblten_50hPa(1:nCells) = field_interp(1:nCells,4)
          rvblten_70hPa(1:nCells) = field_interp(1:nCells,5)
          rvblten_100hPa(1:nCells) = field_interp(1:nCells,6)
          rvblten_150hPa(1:nCells) = field_interp(1:nCells,7)
          rvblten_200hPa(1:nCells) = field_interp(1:nCells,8)
          rvblten_250hPa(1:nCells) = field_interp(1:nCells,9)
          rvblten_300hPa(1:nCells) = field_interp(1:nCells,10)
          rvblten_400hPa(1:nCells) = field_interp(1:nCells,11)
          rvblten_500hPa(1:nCells) = field_interp(1:nCells,12)
          rvblten_600hPa(1:nCells) = field_interp(1:nCells,13)
          rvblten_700hPa(1:nCells) = field_interp(1:nCells,14)
          rvblten_825hPa(1:nCells) = field_interp(1:nCells,15)
          rvblten_850hPa(1:nCells) = field_interp(1:nCells,16)
          rvblten_875hPa(1:nCells) = field_interp(1:nCells,17)
          rvblten_900hPa(1:nCells) = field_interp(1:nCells,18)
          rvblten_925hPa(1:nCells) = field_interp(1:nCells,19)
          rvblten_950hPa(1:nCells) = field_interp(1:nCells,20)
          rvblten_975hPa(1:nCells) = field_interp(1:nCells,21)
          rvblten_1000hPa(1:nCells) = field_interp(1:nCells,22)
          ! call mpas_log_write('--- end interpolate rvblten:')
        end if

3 - Teste usando CD_CT

$ git clone https://github.com/monanadmin/scripts_CD-CT.git
$ git checkout develop 

OBS: a 'main' do CD_CT apresentou erro - reportado em https://github.com/monanadmin/scripts_CD-CT/issues/3

$ ./1.install_monan.bash https://github.com/joaomas/MONAN-Model-JMAS.git 463
$ ./2.pre_processing.bash GFS 1024002 2024010100 24

Alterado "scripts_CD-CT/datain/namelists/stream_list.atmosphere.diagnostics" - LOCAL inserindo as novas variaveis rvuten_15hPa..1000hPA e rvblten_15hPa..1000hPA**

$ ./3.run_model.bash GFS 1024002 2024010100 24

Verificando as variáveis:

Método de verificação 1:

$ ncview MONAN_DIAG_G_MOD_GFS_2024010100_2024010105.00.00.x1024002L55.nc

Image

Image

Valores zerado para o rvcuten

Saída do rvblten ok

Image

Método de verificação 2:

$ ncdump -v rvblten_850hPa MONAN_DIAG_G_MOD_GFS_2024010100_2024010112.00.00.x1024002L55.nc

data:

rvblten_850hPa = 3.361381e-06, 5.521178e-06, 5.37441e-06, 2.843144e-06, 3.217817e-06, 4.665626e-06, 2.684033e-06, 2.822286e-06, 2.992735e-06, 4.057909e-06, 2.481449e-06, 2.733108e-06, 2.733193e-06, 2.717599e-06, 4.066828e-06, 2.179864e-06, 2.533566e-06, 2.641042e-06, 2.466145e-06, 2.603844e-06, 4.378898e-06, 1.78958e-05, 1.429928e-05, 1.615431e-05, 2.274386e-05, 8.988815e-06, 1.156128e-05, 8.551687e-05, 2.950853e-05, 1.092417e-05, 9.870352e-06, 1.69868e-05, 6.874896e-05, 2.728848e-05, 6.697302e-06, 1.650211e-05, 6.643752e-06, 1.32873e-05, 8.318098e-06, 1.6805e-05, 8.392609e-06, 5.941319e-06, 7.4244e-05, 8.156386e-05, 2.677893e-05, 9.558432e-06, 6.362627e-05, 8.122022e-05, 0.0001003321, 8.423064e-05, 1.493291e-05, 3.500735e-06, 3.613984e-06, 3.339418e-06, 3.680633e-06, 3.812074e-06, 3.326348e-06, 4.306684e-06, 3.972366e-06, 3.80588e-06, 2.724487e-06, 5.266434e-06, 3.955769e-06, 3.861307e-06, 2.942587e-06, 2.130643e-06, 2.976794e-06, 2.880525e-06, 2.670251e-06, 2.480931e-06,

4 - Fechando a Branch

Atualizando

From github.com:monanadmin/MONAN-Model
   14ffe83..4838083  feature/monan-463-QI -> origin/feature/monan-463-QI
   14ffe83..9104dbe  develop              -> origin/develop
Updating 14ffe83..4838083
Fast-forward
 src/core_atmosphere/Registry.xml                            |  44 +++++++++++
 src/core_atmosphere/diagnostics/Registry_isobaric.xml       | 132 ++++++++++++++++++++++++++++++++
 src/core_atmosphere/diagnostics/mpas_isobaric_diagnostics.F | 311 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 483 insertions(+), 4 deletions(-)

Finalizando a Feature

git checkout feature/monan-463-QI
git pull
git merge develop
git push
git flow feature finish --keeplocal monan-463-QI

Erro 1:

Branches 'develop' and 'origin/develop' have diverged. Fatal: And branch 'develop' may be fast-forwarded.

Solução 1:

git checkout develop
git pull

//

git checkout feature/monan-463-QI
git merge develop

Erro 2:

Auto-merging src/core_atmosphere/diagnostics/mpas_isobaric_diagnostics.F CONFLICT (content): Merge conflict in src/core_atmosphere/diagnostics/mpas_isobaric_diagnostics.F Auto-merging src/core_atmosphere/diagnostics/Registry_isobaric.xml CONFLICT (content): Merge conflict in src/core_atmosphere/diagnostics/Registry_isobaric.xml Auto-merging src/core_atmosphere/Registry.xml CONFLICT (content): Merge conflict in src/core_atmosphere/Registry.xml Automatic merge failed; fix conflicts and then commit the result.

Solução 2:

Foi dado git add * na branch feature/monan-463-QI e editado com o VSCode, acietado as alterações.

Realizado o merge da develop com a feature.

//

Renomeando a branch

git branch -m feature/monan-463-QI feature/monan-463-QI_CLOSED
git push origin -u feature/monan-463-QI_CLOSED

:rotating_light: Problemas encontrados

:white_check_mark: Conclusão

:spiral_calendar: Trabalhos Futuros

-.

joaomas commented 2 months ago

PO: Colocar a variável no namelist scripts_CD-CT/datain/namelists/stream_list.atmosphere.diagnostics