-
Notifications
You must be signed in to change notification settings - Fork 147
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replaced the flag_cice condition by dusfcin_cpl #475
Conversation
…is huge (undefined), use PBL-calculated ice fluxes instead. This will change results in the coupled model only. Passed regression tests for standalone FV3.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should really look at defining standard "missing values" in CCPP that can be used to test if a variable is set or not. Just as a side note. Your changes look good to me. Need to find a suitable spot for merging them if @SMoorthi-emc agrees with your changes, too. @junwang-noaa, when do you think would be a good time to merge this?
Hi Dom,
I agree - this is a patch, as the old "flag_cice" flag doesn't work in the
case of CMEPS. We came up with this, which reproduced NEMS results without
the bugfix of the unit conversion.
Thanks,
Shan
…On Mon, Jul 13, 2020 at 10:28 PM Dom Heinzeller ***@***.***> wrote:
***@***.**** commented on this pull request.
We should really look at defining standard "missing values" in CCPP that
can be used to test if a variable is set or not. Just as a side note. Your
changes look good to me. Need to find a suitable spot for merging them if
@SMoorthi-emc <https://github.com/SMoorthi-emc> agrees with your changes,
too. @junwang-noaa <https://github.com/junwang-noaa>, when do you think
would be a good time to merge this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#475 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALORMVXO4JD5PIQUCAA4YWLR3PNH5ANCNFSM4OZD4KWQ>
.
|
After I looked at the code changes, I realized that these are fluxes over
100% sea-ice, sent to the mediator along with fluxes from PBL over water
points. The fluxes over water points should be used in the interpolation
from ATM grid to the OCN grid. Since the mask used in doing this
interpolation does not know about 100% ice, this flux over 100% ice will be
used as if it is flux over water. If the ESMF interpolation can ignore
100%ice points, then these changes are not needed. In any case, it is an
error to use fluxes over 100%ice for water points. If these fluxes are
undefined, can ESMF ignore them while interpolating?
Moorthi
…On Tue, Jul 14, 2020 at 12:28 AM Dom Heinzeller ***@***.***> wrote:
***@***.**** commented on this pull request.
We should really look at defining standard "missing values" in CCPP that
can be used to test if a variable is set or not. Just as a side note. Your
changes look good to me. Need to find a suitable spot for merging them if
@SMoorthi-emc <https://github.com/SMoorthi-emc> agrees with your changes,
too. @junwang-noaa <https://github.com/junwang-noaa>, when do you think
would be a good time to merge this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#475 (review)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALLVRYXFCI27KXXJ2UXPMHLR3PNH5ANCNFSM4OZD4KWQ>
.
--
Dr. Shrinivas Moorthi
Research Meteorologist
Modeling and Data Assimilation Branch
Environmental Modeling Center / National Centers for Environmental
Prediction
5830 University Research Court - (W/NP23), College Park MD 20740 USA
Tel: (301)683-3718
e-mail: [email protected]
Phone: (301) 683-3718 Fax: (301) 683-3718
|
Hi Moorthi,
Thanks for pointing it out. I agree. These are the ice fluxes at 100% ice
covered points that are sent from atm to open water at the 1st time step
cold start. If CMEPS can mask out 100% ice points correctly while
interpolating fluxes from atm to open water, then we should leave these
fluxes as huge at the 1st time cold start. I will ask Denise.
Thanks,
Shan
On Tue, Jul 14, 2020 at 4:55 AM SMoorthi-emc <[email protected]>
wrote:
… After I looked at the code changes, I realized that these are fluxes over
100% sea-ice, sent to the mediator along with fluxes from PBL over water
points. The fluxes over water points should be used in the interpolation
from ATM grid to the OCN grid. Since the mask used in doing this
interpolation does not know about 100% ice, this flux over 100% ice will be
used as if it is flux over water. If the ESMF interpolation can ignore
100%ice points, then these changes are not needed. In any case, it is an
error to use fluxes over 100%ice for water points. If these fluxes are
undefined, can ESMF ignore them while interpolating?
Moorthi
On Tue, Jul 14, 2020 at 12:28 AM Dom Heinzeller ***@***.***>
wrote:
> ***@***.**** commented on this pull request.
>
> We should really look at defining standard "missing values" in CCPP that
> can be used to test if a variable is set or not. Just as a side note.
Your
> changes look good to me. Need to find a suitable spot for merging them if
> @SMoorthi-emc <https://github.com/SMoorthi-emc> agrees with your
changes,
> too. @junwang-noaa <https://github.com/junwang-noaa>, when do you think
> would be a good time to merge this?
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <
#475 (review)
>,
> or unsubscribe
> <
https://github.com/notifications/unsubscribe-auth/ALLVRYXFCI27KXXJ2UXPMHLR3PNH5ANCNFSM4OZD4KWQ
>
> .
>
--
Dr. Shrinivas Moorthi
Research Meteorologist
Modeling and Data Assimilation Branch
Environmental Modeling Center / National Centers for Environmental
Prediction
5830 University Research Court - (W/NP23), College Park MD 20740 USA
Tel: (301)683-3718
e-mail: ***@***.***
Phone: (301) 683-3718 Fax: (301) 683-3718
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#475 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALORMVVAWXPXEBWJGPTVYGDR3Q2Q5ANCNFSM4OZD4KWQ>
.
|
Hi Shan,
My last comment is applicable to all integration time. The ocean model
should not be using fluxes over ice.
Moorthi
…On Tue, Jul 14, 2020 at 8:52 AM shansun6 ***@***.***> wrote:
Hi Moorthi,
Thanks for pointing it out. I agree. These are the ice fluxes at 100% ice
covered points that are sent from atm to open water at the 1st time step
cold start. If CMEPS can mask out 100% ice points correctly while
interpolating fluxes from atm to open water, then we should leave these
fluxes as huge at the 1st time cold start. I will ask Denise.
Thanks,
Shan
On Tue, Jul 14, 2020 at 4:55 AM SMoorthi-emc ***@***.***>
wrote:
> After I looked at the code changes, I realized that these are fluxes over
> 100% sea-ice, sent to the mediator along with fluxes from PBL over water
> points. The fluxes over water points should be used in the interpolation
> from ATM grid to the OCN grid. Since the mask used in doing this
> interpolation does not know about 100% ice, this flux over 100% ice will
be
> used as if it is flux over water. If the ESMF interpolation can ignore
> 100%ice points, then these changes are not needed. In any case, it is an
> error to use fluxes over 100%ice for water points. If these fluxes are
> undefined, can ESMF ignore them while interpolating?
> Moorthi
>
> On Tue, Jul 14, 2020 at 12:28 AM Dom Heinzeller <
***@***.***>
> wrote:
>
> > ***@***.**** commented on this pull request.
> >
> > We should really look at defining standard "missing values" in CCPP
that
> > can be used to test if a variable is set or not. Just as a side note.
> Your
> > changes look good to me. Need to find a suitable spot for merging them
if
> > @SMoorthi-emc <https://github.com/SMoorthi-emc> agrees with your
> changes,
> > too. @junwang-noaa <https://github.com/junwang-noaa>, when do you
think
> > would be a good time to merge this?
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <
>
#475 (review)
> >,
> > or unsubscribe
> > <
>
https://github.com/notifications/unsubscribe-auth/ALLVRYXFCI27KXXJ2UXPMHLR3PNH5ANCNFSM4OZD4KWQ
> >
> > .
> >
>
>
> --
> Dr. Shrinivas Moorthi
> Research Meteorologist
> Modeling and Data Assimilation Branch
> Environmental Modeling Center / National Centers for Environmental
> Prediction
> 5830 University Research Court - (W/NP23), College Park MD 20740 USA
> Tel: (301)683-3718
>
> e-mail: ***@***.***
> Phone: (301) 683-3718 Fax: (301) 683-3718
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#475 (comment)>,
> or unsubscribe
> <
https://github.com/notifications/unsubscribe-auth/ALORMVVAWXPXEBWJGPTVYGDR3Q2Q5ANCNFSM4OZD4KWQ
>
> .
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#475 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALLVRYTGOXAUABO6L37QJATR3RIJJANCNFSM4OZD4KWQ>
.
--
Dr. Shrinivas Moorthi
Research Meteorologist
Modeling and Data Assimilation Branch
Environmental Modeling Center / National Centers for Environmental
Prediction
5830 University Research Court - (W/NP23), College Park MD 20740 USA
Tel: (301)683-3718
e-mail: [email protected]
Phone: (301) 683-3718 Fax: (301) 683-3718
|
Hi Moorthi,
Good point. Let's do a test to see with the following lines where only open
water has non-huge fluxes, whether CMEPS can produce identical results with
the current code.
if (cplflx) then
do i=1,im
if (oceanfrac(i) > zero .and. wet(i)) then ! Open Ocean only, NO
LAKES or 100% ice points
. . . . . .
else
dusfc_cpl(i) = huge
dvsfc_cpl(i) = huge
dtsfc_cpl(i) = huge
dqsfc_cpl(i) = huge
endif ! Ocean only, NO LAKES
enddo
endif ! if cplflx
Thanks,
Shan
On Tue, Jul 14, 2020 at 6:58 AM SMoorthi-emc <[email protected]>
wrote:
… Hi Shan,
My last comment is applicable to all integration time. The ocean model
should not be using fluxes over ice.
Moorthi
On Tue, Jul 14, 2020 at 8:52 AM shansun6 ***@***.***> wrote:
> Hi Moorthi,
>
> Thanks for pointing it out. I agree. These are the ice fluxes at 100% ice
> covered points that are sent from atm to open water at the 1st time step
> cold start. If CMEPS can mask out 100% ice points correctly while
> interpolating fluxes from atm to open water, then we should leave these
> fluxes as huge at the 1st time cold start. I will ask Denise.
>
> Thanks,
> Shan
>
> On Tue, Jul 14, 2020 at 4:55 AM SMoorthi-emc ***@***.***>
> wrote:
>
> > After I looked at the code changes, I realized that these are fluxes
over
> > 100% sea-ice, sent to the mediator along with fluxes from PBL over
water
> > points. The fluxes over water points should be used in the
interpolation
> > from ATM grid to the OCN grid. Since the mask used in doing this
> > interpolation does not know about 100% ice, this flux over 100% ice
will
> be
> > used as if it is flux over water. If the ESMF interpolation can ignore
> > 100%ice points, then these changes are not needed. In any case, it is
an
> > error to use fluxes over 100%ice for water points. If these fluxes are
> > undefined, can ESMF ignore them while interpolating?
> > Moorthi
> >
> > On Tue, Jul 14, 2020 at 12:28 AM Dom Heinzeller <
> ***@***.***>
> > wrote:
> >
> > > ***@***.**** commented on this pull request.
> > >
> > > We should really look at defining standard "missing values" in CCPP
> that
> > > can be used to test if a variable is set or not. Just as a side note.
> > Your
> > > changes look good to me. Need to find a suitable spot for merging
them
> if
> > > @SMoorthi-emc <https://github.com/SMoorthi-emc> agrees with your
> > changes,
> > > too. @junwang-noaa <https://github.com/junwang-noaa>, when do you
> think
> > > would be a good time to merge this?
> > >
> > > —
> > > You are receiving this because you were mentioned.
> > > Reply to this email directly, view it on GitHub
> > > <
> >
>
#475 (review)
> > >,
> > > or unsubscribe
> > > <
> >
>
https://github.com/notifications/unsubscribe-auth/ALLVRYXFCI27KXXJ2UXPMHLR3PNH5ANCNFSM4OZD4KWQ
> > >
> > > .
> > >
> >
> >
> > --
> > Dr. Shrinivas Moorthi
> > Research Meteorologist
> > Modeling and Data Assimilation Branch
> > Environmental Modeling Center / National Centers for Environmental
> > Prediction
> > 5830 University Research Court - (W/NP23), College Park MD 20740 USA
> > Tel: (301)683-3718
> >
> > e-mail: ***@***.***
> > Phone: (301) 683-3718 Fax: (301) 683-3718
> >
> > —
> > You are receiving this because you authored the thread.
> > Reply to this email directly, view it on GitHub
> > <#475 (comment)
>,
> > or unsubscribe
> > <
>
https://github.com/notifications/unsubscribe-auth/ALORMVVAWXPXEBWJGPTVYGDR3Q2Q5ANCNFSM4OZD4KWQ
> >
> > .
> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#475 (comment)>,
> or unsubscribe
> <
https://github.com/notifications/unsubscribe-auth/ALLVRYTGOXAUABO6L37QJATR3RIJJANCNFSM4OZD4KWQ
>
> .
>
--
Dr. Shrinivas Moorthi
Research Meteorologist
Modeling and Data Assimilation Branch
Environmental Modeling Center / National Centers for Environmental
Prediction
5830 University Research Court - (W/NP23), College Park MD 20740 USA
Tel: (301)683-3718
e-mail: ***@***.***
Phone: (301) 683-3718 Fax: (301) 683-3718
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#475 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALORMVTGYD6KOLRBWJAXJ6LR3RJALANCNFSM4OZD4KWQ>
.
|
I expect the model to blow up (unless ESMF interpolation knows to ignore
huge).
…On Tue, Jul 14, 2020 at 9:12 AM shansun6 ***@***.***> wrote:
Hi Moorthi,
Good point. Let's do a test to see with the following lines where only open
water has non-huge fluxes, whether CMEPS can produce identical results with
the current code.
if (cplflx) then
do i=1,im
if (oceanfrac(i) > zero .and. wet(i)) then ! Open Ocean only, NO
LAKES or 100% ice points
. . . . . .
else
dusfc_cpl(i) = huge
dvsfc_cpl(i) = huge
dtsfc_cpl(i) = huge
dqsfc_cpl(i) = huge
endif ! Ocean only, NO LAKES
enddo
endif ! if cplflx
Thanks,
Shan
On Tue, Jul 14, 2020 at 6:58 AM SMoorthi-emc ***@***.***>
wrote:
> Hi Shan,
> My last comment is applicable to all integration time. The ocean model
> should not be using fluxes over ice.
> Moorthi
>
> On Tue, Jul 14, 2020 at 8:52 AM shansun6 ***@***.***>
wrote:
>
> > Hi Moorthi,
> >
> > Thanks for pointing it out. I agree. These are the ice fluxes at 100%
ice
> > covered points that are sent from atm to open water at the 1st time
step
> > cold start. If CMEPS can mask out 100% ice points correctly while
> > interpolating fluxes from atm to open water, then we should leave these
> > fluxes as huge at the 1st time cold start. I will ask Denise.
> >
> > Thanks,
> > Shan
> >
> > On Tue, Jul 14, 2020 at 4:55 AM SMoorthi-emc ***@***.***
>
> > wrote:
> >
> > > After I looked at the code changes, I realized that these are fluxes
> over
> > > 100% sea-ice, sent to the mediator along with fluxes from PBL over
> water
> > > points. The fluxes over water points should be used in the
> interpolation
> > > from ATM grid to the OCN grid. Since the mask used in doing this
> > > interpolation does not know about 100% ice, this flux over 100% ice
> will
> > be
> > > used as if it is flux over water. If the ESMF interpolation can
ignore
> > > 100%ice points, then these changes are not needed. In any case, it is
> an
> > > error to use fluxes over 100%ice for water points. If these fluxes
are
> > > undefined, can ESMF ignore them while interpolating?
> > > Moorthi
> > >
> > > On Tue, Jul 14, 2020 at 12:28 AM Dom Heinzeller <
> > ***@***.***>
> > > wrote:
> > >
> > > > ***@***.**** commented on this pull request.
> > > >
> > > > We should really look at defining standard "missing values" in CCPP
> > that
> > > > can be used to test if a variable is set or not. Just as a side
note.
> > > Your
> > > > changes look good to me. Need to find a suitable spot for merging
> them
> > if
> > > > @SMoorthi-emc <https://github.com/SMoorthi-emc> agrees with your
> > > changes,
> > > > too. @junwang-noaa <https://github.com/junwang-noaa>, when do you
> > think
> > > > would be a good time to merge this?
> > > >
> > > > —
> > > > You are receiving this because you were mentioned.
> > > > Reply to this email directly, view it on GitHub
> > > > <
> > >
> >
>
#475 (review)
> > > >,
> > > > or unsubscribe
> > > > <
> > >
> >
>
https://github.com/notifications/unsubscribe-auth/ALLVRYXFCI27KXXJ2UXPMHLR3PNH5ANCNFSM4OZD4KWQ
> > > >
> > > > .
> > > >
> > >
> > >
> > > --
> > > Dr. Shrinivas Moorthi
> > > Research Meteorologist
> > > Modeling and Data Assimilation Branch
> > > Environmental Modeling Center / National Centers for Environmental
> > > Prediction
> > > 5830 University Research Court - (W/NP23), College Park MD 20740 USA
> > > Tel: (301)683-3718
> > >
> > > e-mail: ***@***.***
> > > Phone: (301) 683-3718 Fax: (301) 683-3718
> > >
> > > —
> > > You are receiving this because you authored the thread.
> > > Reply to this email directly, view it on GitHub
> > > <
#475 (comment)
> >,
> > > or unsubscribe
> > > <
> >
>
https://github.com/notifications/unsubscribe-auth/ALORMVVAWXPXEBWJGPTVYGDR3Q2Q5ANCNFSM4OZD4KWQ
> > >
> > > .
> > >
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <#475 (comment)
>,
> > or unsubscribe
> > <
>
https://github.com/notifications/unsubscribe-auth/ALLVRYTGOXAUABO6L37QJATR3RIJJANCNFSM4OZD4KWQ
> >
> > .
> >
>
>
> --
> Dr. Shrinivas Moorthi
> Research Meteorologist
> Modeling and Data Assimilation Branch
> Environmental Modeling Center / National Centers for Environmental
> Prediction
> 5830 University Research Court - (W/NP23), College Park MD 20740 USA
> Tel: (301)683-3718
>
> e-mail: ***@***.***
> Phone: (301) 683-3718 Fax: (301) 683-3718
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#475 (comment)>,
> or unsubscribe
> <
https://github.com/notifications/unsubscribe-auth/ALORMVTGYD6KOLRBWJAXJ6LR3RJALANCNFSM4OZD4KWQ
>
> .
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#475 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALLVRYRBK57324KXIIA6BXDR3RKS3ANCNFSM4OZD4KWQ>
.
--
Dr. Shrinivas Moorthi
Research Meteorologist
Modeling and Data Assimilation Branch
Environmental Modeling Center / National Centers for Environmental
Prediction
5830 University Research Court - (W/NP23), College Park MD 20740 USA
Tel: (301)683-3718
e-mail: [email protected]
Phone: (301) 683-3718 Fax: (301) 683-3718
|
Shan,
I think the issue is at initial time, ice model does not provide ice
fraction information to atmosphere at initial time, atmosphere just
provides what it is ice. Then later mediator will merge the stress from
atmosphere and ice, this weight is decided by ice fraction from ice model.
So it is possible 1) the stress is counted as stress on open water. 2) if
there is mismatch of ice fraction between atmosphere and ice, and Huge
value will be used as the stress on open water, it will cause problem.
Below is the code in mediator
call fieldBundle_FieldMerge(is_local%wrap%FBforOcn ,
'mean_merid_moment_flx' , &
is_local%wrap%FBAccumAtmOcn,
'stress_on_air_ocn_merid', atmwgt1, &
is_local%wrap%FBIce_o ,
'stress_on_ocn_ice_merid', icewgt1, &
is_local%wrap%FBAtm_o ,
'mean_merid_moment_flx_atm' , wgtm01, &
rc=rc)
…On Tue, Jul 14, 2020 at 9:12 AM shansun6 ***@***.***> wrote:
Hi Moorthi,
Good point. Let's do a test to see with the following lines where only open
water has non-huge fluxes, whether CMEPS can produce identical results with
the current code.
if (cplflx) then
do i=1,im
if (oceanfrac(i) > zero .and. wet(i)) then ! Open Ocean only, NO
LAKES or 100% ice points
. . . . . .
else
dusfc_cpl(i) = huge
dvsfc_cpl(i) = huge
dtsfc_cpl(i) = huge
dqsfc_cpl(i) = huge
endif ! Ocean only, NO LAKES
enddo
endif ! if cplflx
Thanks,
Shan
On Tue, Jul 14, 2020 at 6:58 AM SMoorthi-emc ***@***.***>
wrote:
> Hi Shan,
> My last comment is applicable to all integration time. The ocean model
> should not be using fluxes over ice.
> Moorthi
>
> On Tue, Jul 14, 2020 at 8:52 AM shansun6 ***@***.***>
wrote:
>
> > Hi Moorthi,
> >
> > Thanks for pointing it out. I agree. These are the ice fluxes at 100%
ice
> > covered points that are sent from atm to open water at the 1st time
step
> > cold start. If CMEPS can mask out 100% ice points correctly while
> > interpolating fluxes from atm to open water, then we should leave these
> > fluxes as huge at the 1st time cold start. I will ask Denise.
> >
> > Thanks,
> > Shan
> >
> > On Tue, Jul 14, 2020 at 4:55 AM SMoorthi-emc ***@***.***
>
> > wrote:
> >
> > > After I looked at the code changes, I realized that these are fluxes
> over
> > > 100% sea-ice, sent to the mediator along with fluxes from PBL over
> water
> > > points. The fluxes over water points should be used in the
> interpolation
> > > from ATM grid to the OCN grid. Since the mask used in doing this
> > > interpolation does not know about 100% ice, this flux over 100% ice
> will
> > be
> > > used as if it is flux over water. If the ESMF interpolation can
ignore
> > > 100%ice points, then these changes are not needed. In any case, it is
> an
> > > error to use fluxes over 100%ice for water points. If these fluxes
are
> > > undefined, can ESMF ignore them while interpolating?
> > > Moorthi
> > >
> > > On Tue, Jul 14, 2020 at 12:28 AM Dom Heinzeller <
> > ***@***.***>
> > > wrote:
> > >
> > > > ***@***.**** commented on this pull request.
> > > >
> > > > We should really look at defining standard "missing values" in CCPP
> > that
> > > > can be used to test if a variable is set or not. Just as a side
note.
> > > Your
> > > > changes look good to me. Need to find a suitable spot for merging
> them
> > if
> > > > @SMoorthi-emc <https://github.com/SMoorthi-emc> agrees with your
> > > changes,
> > > > too. @junwang-noaa <https://github.com/junwang-noaa>, when do you
> > think
> > > > would be a good time to merge this?
> > > >
> > > > —
> > > > You are receiving this because you were mentioned.
> > > > Reply to this email directly, view it on GitHub
> > > > <
> > >
> >
>
#475 (review)
> > > >,
> > > > or unsubscribe
> > > > <
> > >
> >
>
https://github.com/notifications/unsubscribe-auth/ALLVRYXFCI27KXXJ2UXPMHLR3PNH5ANCNFSM4OZD4KWQ
> > > >
> > > > .
> > > >
> > >
> > >
> > > --
> > > Dr. Shrinivas Moorthi
> > > Research Meteorologist
> > > Modeling and Data Assimilation Branch
> > > Environmental Modeling Center / National Centers for Environmental
> > > Prediction
> > > 5830 University Research Court - (W/NP23), College Park MD 20740 USA
> > > Tel: (301)683-3718
> > >
> > > e-mail: ***@***.***
> > > Phone: (301) 683-3718 Fax: (301) 683-3718
> > >
> > > —
> > > You are receiving this because you authored the thread.
> > > Reply to this email directly, view it on GitHub
> > > <
#475 (comment)
> >,
> > > or unsubscribe
> > > <
> >
>
https://github.com/notifications/unsubscribe-auth/ALORMVVAWXPXEBWJGPTVYGDR3Q2Q5ANCNFSM4OZD4KWQ
> > >
> > > .
> > >
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <#475 (comment)
>,
> > or unsubscribe
> > <
>
https://github.com/notifications/unsubscribe-auth/ALLVRYTGOXAUABO6L37QJATR3RIJJANCNFSM4OZD4KWQ
> >
> > .
> >
>
>
> --
> Dr. Shrinivas Moorthi
> Research Meteorologist
> Modeling and Data Assimilation Branch
> Environmental Modeling Center / National Centers for Environmental
> Prediction
> 5830 University Research Court - (W/NP23), College Park MD 20740 USA
> Tel: (301)683-3718
>
> e-mail: ***@***.***
> Phone: (301) 683-3718 Fax: (301) 683-3718
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#475 (comment)>,
> or unsubscribe
> <
https://github.com/notifications/unsubscribe-auth/ALORMVTGYD6KOLRBWJAXJ6LR3RJALANCNFSM4OZD4KWQ
>
> .
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#475 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AI7D6TMAQ7S3DTSLYS7NQV3R3RKS3ANCNFSM4OZD4KWQ>
.
|
Hi Jun,
Good point. The CICE fluxes should not be a part of the ocean-open fluxes
on FV3 grid at all times. Moorthi predicts the model would crash
when these fluxes are set to huge on 100% ice FV3 grids. I guess the
mismatched ice fraction between atm and ocean is likely to be the culprit
of it in the current version. Nevertheless, we should make sure that the
model runs with frac_grid=T.
Thanks,
Shan
…On Tue, Jul 14, 2020 at 7:21 AM Jun Wang ***@***.***> wrote:
Shan,
I think the issue is at initial time, ice model does not provide ice
fraction information to atmosphere at initial time, atmosphere just
provides what it is ice. Then later mediator will merge the stress from
atmosphere and ice, this weight is decided by ice fraction from ice model.
So it is possible 1) the stress is counted as stress on open water. 2) if
there is mismatch of ice fraction between atmosphere and ice, and Huge
value will be used as the stress on open water, it will cause problem.
Below is the code in mediator
call fieldBundle_FieldMerge(is_local%wrap%FBforOcn ,
'mean_merid_moment_flx' , &
is_local%wrap%FBAccumAtmOcn,
'stress_on_air_ocn_merid', atmwgt1, &
is_local%wrap%FBIce_o ,
'stress_on_ocn_ice_merid', icewgt1, &
is_local%wrap%FBAtm_o ,
'mean_merid_moment_flx_atm' , wgtm01, &
rc=rc)
On Tue, Jul 14, 2020 at 9:12 AM shansun6 ***@***.***> wrote:
> Hi Moorthi,
>
> Good point. Let's do a test to see with the following lines where only
open
> water has non-huge fluxes, whether CMEPS can produce identical results
with
> the current code.
>
> if (cplflx) then
> do i=1,im
> if (oceanfrac(i) > zero .and. wet(i)) then ! Open Ocean only, NO
> LAKES or 100% ice points
> . . . . . .
> else
> dusfc_cpl(i) = huge
> dvsfc_cpl(i) = huge
> dtsfc_cpl(i) = huge
> dqsfc_cpl(i) = huge
> endif ! Ocean only, NO LAKES
> enddo
> endif ! if cplflx
>
> Thanks,
> Shan
>
> On Tue, Jul 14, 2020 at 6:58 AM SMoorthi-emc ***@***.***>
> wrote:
>
> > Hi Shan,
> > My last comment is applicable to all integration time. The ocean model
> > should not be using fluxes over ice.
> > Moorthi
> >
> > On Tue, Jul 14, 2020 at 8:52 AM shansun6 ***@***.***>
> wrote:
> >
> > > Hi Moorthi,
> > >
> > > Thanks for pointing it out. I agree. These are the ice fluxes at 100%
> ice
> > > covered points that are sent from atm to open water at the 1st time
> step
> > > cold start. If CMEPS can mask out 100% ice points correctly while
> > > interpolating fluxes from atm to open water, then we should leave
these
> > > fluxes as huge at the 1st time cold start. I will ask Denise.
> > >
> > > Thanks,
> > > Shan
> > >
> > > On Tue, Jul 14, 2020 at 4:55 AM SMoorthi-emc <
***@***.***
> >
> > > wrote:
> > >
> > > > After I looked at the code changes, I realized that these are
fluxes
> > over
> > > > 100% sea-ice, sent to the mediator along with fluxes from PBL over
> > water
> > > > points. The fluxes over water points should be used in the
> > interpolation
> > > > from ATM grid to the OCN grid. Since the mask used in doing this
> > > > interpolation does not know about 100% ice, this flux over 100% ice
> > will
> > > be
> > > > used as if it is flux over water. If the ESMF interpolation can
> ignore
> > > > 100%ice points, then these changes are not needed. In any case, it
is
> > an
> > > > error to use fluxes over 100%ice for water points. If these fluxes
> are
> > > > undefined, can ESMF ignore them while interpolating?
> > > > Moorthi
> > > >
> > > > On Tue, Jul 14, 2020 at 12:28 AM Dom Heinzeller <
> > > ***@***.***>
> > > > wrote:
> > > >
> > > > > ***@***.**** commented on this pull request.
> > > > >
> > > > > We should really look at defining standard "missing values" in
CCPP
> > > that
> > > > > can be used to test if a variable is set or not. Just as a side
> note.
> > > > Your
> > > > > changes look good to me. Need to find a suitable spot for merging
> > them
> > > if
> > > > > @SMoorthi-emc <https://github.com/SMoorthi-emc> agrees with your
> > > > changes,
> > > > > too. @junwang-noaa <https://github.com/junwang-noaa>, when do
you
> > > think
> > > > > would be a good time to merge this?
> > > > >
> > > > > —
> > > > > You are receiving this because you were mentioned.
> > > > > Reply to this email directly, view it on GitHub
> > > > > <
> > > >
> > >
> >
>
#475 (review)
> > > > >,
> > > > > or unsubscribe
> > > > > <
> > > >
> > >
> >
>
https://github.com/notifications/unsubscribe-auth/ALLVRYXFCI27KXXJ2UXPMHLR3PNH5ANCNFSM4OZD4KWQ
> > > > >
> > > > > .
> > > > >
> > > >
> > > >
> > > > --
> > > > Dr. Shrinivas Moorthi
> > > > Research Meteorologist
> > > > Modeling and Data Assimilation Branch
> > > > Environmental Modeling Center / National Centers for Environmental
> > > > Prediction
> > > > 5830 University Research Court - (W/NP23), College Park MD 20740
USA
> > > > Tel: (301)683-3718
> > > >
> > > > e-mail: ***@***.***
> > > > Phone: (301) 683-3718 Fax: (301) 683-3718
> > > >
> > > > —
> > > > You are receiving this because you authored the thread.
> > > > Reply to this email directly, view it on GitHub
> > > > <
> #475 (comment)
> > >,
> > > > or unsubscribe
> > > > <
> > >
> >
>
https://github.com/notifications/unsubscribe-auth/ALORMVVAWXPXEBWJGPTVYGDR3Q2Q5ANCNFSM4OZD4KWQ
> > > >
> > > > .
> > > >
> > >
> > > —
> > > You are receiving this because you were mentioned.
> > > Reply to this email directly, view it on GitHub
> > > <
#475 (comment)
> >,
> > > or unsubscribe
> > > <
> >
>
https://github.com/notifications/unsubscribe-auth/ALLVRYTGOXAUABO6L37QJATR3RIJJANCNFSM4OZD4KWQ
> > >
> > > .
> > >
> >
> >
> > --
> > Dr. Shrinivas Moorthi
> > Research Meteorologist
> > Modeling and Data Assimilation Branch
> > Environmental Modeling Center / National Centers for Environmental
> > Prediction
> > 5830 University Research Court - (W/NP23), College Park MD 20740 USA
> > Tel: (301)683-3718
> >
> > e-mail: ***@***.***
> > Phone: (301) 683-3718 Fax: (301) 683-3718
> >
> > —
> > You are receiving this because you authored the thread.
> > Reply to this email directly, view it on GitHub
> > <#475 (comment)
>,
> > or unsubscribe
> > <
>
https://github.com/notifications/unsubscribe-auth/ALORMVTGYD6KOLRBWJAXJ6LR3RJALANCNFSM4OZD4KWQ
> >
> > .
> >
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#475 (comment)>,
> or unsubscribe
> <
https://github.com/notifications/unsubscribe-auth/AI7D6TMAQ7S3DTSLYS7NQV3R3RKS3ANCNFSM4OZD4KWQ
>
> .
>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#475 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALORMVQAODTYEC5ZB2IKTYLR3RLTVANCNFSM4OZD4KWQ>
.
|
I would think your original fix is OK, just to send what atmosphere thinks
for ice point will work, but not set the flux to huge as it will be treated
as open water flux when there is a mismatch.
…On Tue, Jul 14, 2020 at 9:43 AM shansun6 ***@***.***> wrote:
Hi Jun,
Good point. The CICE fluxes should not be a part of the ocean-open fluxes
on FV3 grid at all times. Moorthi predicts the model would crash
when these fluxes are set to huge on 100% ice FV3 grids. I guess the
mismatched ice fraction between atm and ocean is likely to be the culprit
of it in the current version. Nevertheless, we should make sure that the
model runs with frac_grid=T.
Thanks,
Shan
On Tue, Jul 14, 2020 at 7:21 AM Jun Wang ***@***.***> wrote:
> Shan,
> I think the issue is at initial time, ice model does not provide ice
> fraction information to atmosphere at initial time, atmosphere just
> provides what it is ice. Then later mediator will merge the stress from
> atmosphere and ice, this weight is decided by ice fraction from ice
model.
> So it is possible 1) the stress is counted as stress on open water. 2) if
> there is mismatch of ice fraction between atmosphere and ice, and Huge
> value will be used as the stress on open water, it will cause problem.
> Below is the code in mediator
>
> call fieldBundle_FieldMerge(is_local%wrap%FBforOcn ,
> 'mean_merid_moment_flx' , &
> is_local%wrap%FBAccumAtmOcn,
> 'stress_on_air_ocn_merid', atmwgt1, &
> is_local%wrap%FBIce_o ,
> 'stress_on_ocn_ice_merid', icewgt1, &
> is_local%wrap%FBAtm_o ,
> 'mean_merid_moment_flx_atm' , wgtm01, &
> rc=rc)
>
>
>
> On Tue, Jul 14, 2020 at 9:12 AM shansun6 ***@***.***>
wrote:
>
> > Hi Moorthi,
> >
> > Good point. Let's do a test to see with the following lines where only
> open
> > water has non-huge fluxes, whether CMEPS can produce identical results
> with
> > the current code.
> >
> > if (cplflx) then
> > do i=1,im
> > if (oceanfrac(i) > zero .and. wet(i)) then ! Open Ocean only, NO
> > LAKES or 100% ice points
> > . . . . . .
> > else
> > dusfc_cpl(i) = huge
> > dvsfc_cpl(i) = huge
> > dtsfc_cpl(i) = huge
> > dqsfc_cpl(i) = huge
> > endif ! Ocean only, NO LAKES
> > enddo
> > endif ! if cplflx
> >
> > Thanks,
> > Shan
> >
> > On Tue, Jul 14, 2020 at 6:58 AM SMoorthi-emc ***@***.***
>
> > wrote:
> >
> > > Hi Shan,
> > > My last comment is applicable to all integration time. The ocean
model
> > > should not be using fluxes over ice.
> > > Moorthi
> > >
> > > On Tue, Jul 14, 2020 at 8:52 AM shansun6 ***@***.***>
> > wrote:
> > >
> > > > Hi Moorthi,
> > > >
> > > > Thanks for pointing it out. I agree. These are the ice fluxes at
100%
> > ice
> > > > covered points that are sent from atm to open water at the 1st time
> > step
> > > > cold start. If CMEPS can mask out 100% ice points correctly while
> > > > interpolating fluxes from atm to open water, then we should leave
> these
> > > > fluxes as huge at the 1st time cold start. I will ask Denise.
> > > >
> > > > Thanks,
> > > > Shan
> > > >
> > > > On Tue, Jul 14, 2020 at 4:55 AM SMoorthi-emc <
> ***@***.***
> > >
> > > > wrote:
> > > >
> > > > > After I looked at the code changes, I realized that these are
> fluxes
> > > over
> > > > > 100% sea-ice, sent to the mediator along with fluxes from PBL
over
> > > water
> > > > > points. The fluxes over water points should be used in the
> > > interpolation
> > > > > from ATM grid to the OCN grid. Since the mask used in doing this
> > > > > interpolation does not know about 100% ice, this flux over 100%
ice
> > > will
> > > > be
> > > > > used as if it is flux over water. If the ESMF interpolation can
> > ignore
> > > > > 100%ice points, then these changes are not needed. In any case,
it
> is
> > > an
> > > > > error to use fluxes over 100%ice for water points. If these
fluxes
> > are
> > > > > undefined, can ESMF ignore them while interpolating?
> > > > > Moorthi
> > > > >
> > > > > On Tue, Jul 14, 2020 at 12:28 AM Dom Heinzeller <
> > > > ***@***.***>
> > > > > wrote:
> > > > >
> > > > > > ***@***.**** commented on this pull request.
> > > > > >
> > > > > > We should really look at defining standard "missing values" in
> CCPP
> > > > that
> > > > > > can be used to test if a variable is set or not. Just as a side
> > note.
> > > > > Your
> > > > > > changes look good to me. Need to find a suitable spot for
merging
> > > them
> > > > if
> > > > > > @SMoorthi-emc <https://github.com/SMoorthi-emc> agrees with
your
> > > > > changes,
> > > > > > too. @junwang-noaa <https://github.com/junwang-noaa>, when do
> you
> > > > think
> > > > > > would be a good time to merge this?
> > > > > >
> > > > > > —
> > > > > > You are receiving this because you were mentioned.
> > > > > > Reply to this email directly, view it on GitHub
> > > > > > <
> > > > >
> > > >
> > >
> >
>
#475 (review)
> > > > > >,
> > > > > > or unsubscribe
> > > > > > <
> > > > >
> > > >
> > >
> >
>
https://github.com/notifications/unsubscribe-auth/ALLVRYXFCI27KXXJ2UXPMHLR3PNH5ANCNFSM4OZD4KWQ
> > > > > >
> > > > > > .
> > > > > >
> > > > >
> > > > >
> > > > > --
> > > > > Dr. Shrinivas Moorthi
> > > > > Research Meteorologist
> > > > > Modeling and Data Assimilation Branch
> > > > > Environmental Modeling Center / National Centers for
Environmental
> > > > > Prediction
> > > > > 5830 University Research Court - (W/NP23), College Park MD 20740
> USA
> > > > > Tel: (301)683-3718
> > > > >
> > > > > e-mail: ***@***.***
> > > > > Phone: (301) 683-3718 Fax: (301) 683-3718
> > > > >
> > > > > —
> > > > > You are receiving this because you authored the thread.
> > > > > Reply to this email directly, view it on GitHub
> > > > > <
> > #475 (comment)
> > > >,
> > > > > or unsubscribe
> > > > > <
> > > >
> > >
> >
>
https://github.com/notifications/unsubscribe-auth/ALORMVVAWXPXEBWJGPTVYGDR3Q2Q5ANCNFSM4OZD4KWQ
> > > > >
> > > > > .
> > > > >
> > > >
> > > > —
> > > > You are receiving this because you were mentioned.
> > > > Reply to this email directly, view it on GitHub
> > > > <
> #475 (comment)
> > >,
> > > > or unsubscribe
> > > > <
> > >
> >
>
https://github.com/notifications/unsubscribe-auth/ALLVRYTGOXAUABO6L37QJATR3RIJJANCNFSM4OZD4KWQ
> > > >
> > > > .
> > > >
> > >
> > >
> > > --
> > > Dr. Shrinivas Moorthi
> > > Research Meteorologist
> > > Modeling and Data Assimilation Branch
> > > Environmental Modeling Center / National Centers for Environmental
> > > Prediction
> > > 5830 University Research Court - (W/NP23), College Park MD 20740 USA
> > > Tel: (301)683-3718
> > >
> > > e-mail: ***@***.***
> > > Phone: (301) 683-3718 Fax: (301) 683-3718
> > >
> > > —
> > > You are receiving this because you authored the thread.
> > > Reply to this email directly, view it on GitHub
> > > <
#475 (comment)
> >,
> > > or unsubscribe
> > > <
> >
>
https://github.com/notifications/unsubscribe-auth/ALORMVTGYD6KOLRBWJAXJ6LR3RJALANCNFSM4OZD4KWQ
> > >
> > > .
> > >
> >
> > —
> > You are receiving this because you were mentioned.
> > Reply to this email directly, view it on GitHub
> > <#475 (comment)
>,
> > or unsubscribe
> > <
>
https://github.com/notifications/unsubscribe-auth/AI7D6TMAQ7S3DTSLYS7NQV3R3RKS3ANCNFSM4OZD4KWQ
> >
> > .
> >
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <#475 (comment)>,
> or unsubscribe
> <
https://github.com/notifications/unsubscribe-auth/ALORMVQAODTYEC5ZB2IKTYLR3RLTVANCNFSM4OZD4KWQ
>
> .
>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#475 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AI7D6TPBS2ATHV26LUEWYUTR3ROGTANCNFSM4OZD4KWQ>
.
|
@shansun6 is this PR still necessary or did the recent changes from @SMoorthi-emc take care of the issue? Should it be closed? |
Hi Dom,
Somehow I couldn't find this PR anymore on github. Yes, please close it for
now. I think the fix would be easier after we move to the fractional grid,
as for the moment any fix we come up with has to deal with the non
fractional grid, which has to use ocean flux to obtain ice flux
unfortunately.
Thanks,
Shan
…On Wed, Aug 26, 2020 at 8:29 AM Dom Heinzeller ***@***.***> wrote:
@shansun6 <https://github.com/shansun6> is this PR still necessary or did
the recent changes from @SMoorthi-emc <https://github.com/SMoorthi-emc>
take care of the issue? Should it be closed?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#475 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ALORMVWYG6XIYMQPTC6XMFTSCUL4DANCNFSM4OZD4KWQ>
.
|
* Feature/ccpp codeowners (NCAR#442) * Per-file CODEOWNERS in ccpp/physics to set up automatic review requests * Code cleanup. Remove used code/variables. Fix minor inconsistencies. (NCAR#440) * Remove ESMF Alarm and TimeInterval variables from module_fv3_config. * Variables nfhmax, nfhmax_hf are unused outside InitializeAdvertise. Declared them as local variables. * There is no need to keep duplicates of all time related variables in atm_int_state when we can easily access them from atm_int_state%Atm. * Remove redundant call to fms_init * Add few missing ESMF_LogFoundError checks in module_fcst_grid_comp.F90 * Delete time_utils.F90. Unused. * print only actual errors to stderr, everything else to stdout * Move realizeConnectedCplFields to module_cplfields from module_cap_cpl * Declare Atmos as module variable, and remove atmos_internalstate_wrapper * Move code from clock_cplIntval to InitializeAdvertise * Removed INTERNAL_FILE_NML from atmos_model.F90 * CCPP cloud cover change for Thompson MP associated with Xu Randall (NCAR#443) * Remove old comments from GFS_typedefs.F90. * Update logic that sets Model%cnvcld = .false. * Wrapper for ccpp-physics NCAR#806, NCAR#807, NCAR#813 (NCAR#447) * CCPP physics updates from PR NCAR#806(only diagnostic changes for RRTMGP - small diag-only RT impact for tests involving RRTMGP),NCAR#807 (only aborting model if sfc emis file not present when needed) ,NCAR#813(only SCM-specific physics changes) * Wrapper for ccpp-physics NCAR#808 and 816 (roughness length over ice and NoahMP tsurf bugfix) (NCAR#452) This PR contains the ccpp physics PR NCAR#808 and NCAR#816. 808 addresses an error in the momentum roughness length over tiles with ice. 816 fixes an occasional segfault bug related to the tsurf variable in NoahMP and updates to "improve snow simulation in NoahMP for P8". * Use 'model set run clock' routine in FV3 NUOPC cap. (NCAR#450) * Add 'SetRunClock' specialization routine to FV3 NUOPC cap, which sets fv3 model clock. FV3 cap does not keep local copy of clock (clock_fv3) as saved module variable anymore. * Minor code cleanup. * Clean up iovr=4 (exponential cloud overlapping method) in RRTMG (NCAR#445) Clean up the exponential cloud overlapping method in RRTMG, which reflects the practice of the pre-2018 operational HWRF model. * Bug fix for dimensions of eta level variables and WAM variables in Fortran code and CCPP metadata (NCAR#431) * Add additional diagnostic arrays for radiation-microphysics development * Bug fixes for WAM model runs with levr < levs * Update inline post with latest UPP release upp_v10.0.11 (NCAR#449) * Update UPP revision * Add foundation temperaure in GFS read interface for inline post. * Wrapper for ccpp-physics NCAR#812 (NCAR#453) * update submodule pointer for regression testing of ccpp-physics#812 * MYNN sfclay (RAP suite) restart reproducibility, P8 suite definition files (NCAR#455) * Fix uninitialized variable zmtnblck in ccpp/data/GFS_typedefs.F90 * Fix typo in CCPP standard name for ncnvwind in ccpp/data/GFS_typedefs.meta * Add ten 2d variables required for MYNNSFC restart reproducibility to ccpp/driver/GFS_restart.F90 * create initial p8 suites, P8 initial SDFs as copies of FV3_GFS_v16_coupled_nsstNoahmpUGWPv1 and FV3_GFS_v16_nsstNoahmpUGWPv1 Co-authored-by: Denise Worthen <[email protected]> * Fixes on initializing snow depth over ice and changes z0ice (NCAR#461) * modify FV3GFS_io.F90 by fixing errors associated with initializing snow depth over ice in the case where both land and water coexist (i.e. fractional grid case) * z0ice is changed to 1.0 cm from 1.1cm in atmos_model.F90 * Radar-derived microphysics temperature tendencies similar to operational HRRR (NCAR#457) - implements a feature of the operational HRRR, radar-derived microphysics temperature tendencies applied in the first N minutes of the forecast to improve clouds in the first few hours. * HRRR-like radar-derived temperature tendencies * Give a warning when convection is enabled with radar tten * Fix uninitialized variable zmtnblck in ccpp/data/GFS_typedefs.F90 * Add ten 2d variables required for MYNNSFC restart reproducibility to ccpp/driver/GFS_restart.F90 * fixing snod bug in atmos_model.F90 (NCAR#465) * Thompson MP cloud tuning (NCAR#463) * Improve cloud fraction when using Thompson MP. See NCAR#809 for more details. * Feature/hwrf legacy (NCAR#459) * Added a new suite definition file: suite_FV3_HAFS_v0_thompson_tedmf_gfdlsf.xml. This SDF is a legacy hwrf SDF but only the GFDL surface layer scheme and the Thompson scheme are kept. * CCPP: Update consistency checks and effective radii calculation for Thompson MP (NCAR#462) * This PR updates the submodule pointer for ccpp-physics for the changes described in NCAR#786 (Update consistency checks and effective radii calculation for Thompson MP) * Unified write_netcdf, add single file 'cubed_sphere_grid' output (NCAR#466) * Unify write_netcdf and write_netcdf_parallel modules. * Add support for writing 'cubed_sphere_grid' history files in a single netcdf file * Code refactoring and cleanup. * Change standard name and unit of CCPP error flag variable in CCPP framework and physics (NCAR#467) *Change standard name and unit of CCPP error flag variable in CCPP framework and physics. * Add code to enable ESMF managed threading (NCAR#469) * Implement ESMF-managed-threading for fcstComp and wrtComp's. * Revisions to repair iovr=5 cloud overlap option (NCAR#471) *This PR addresses part 2 of CCPP issue NCAR#748 to activate the exponential-random cloud overlap method (iovr=5) in RRTMG. * Add 2d decomposition on the write grid comp (NCAR#470) * update write grid comp to have 2D decomposition on output grid. * combine PR#468: Bug fix in FV3GFS_io.F90 for allocation of temp2d Co-authored-by: Ted Mansell <[email protected]> * 4DIAU bug when iau_filter_increments=T (NCAR#458) * Add lsm_cold_start variable for RUC LSM SCM support and gwdps bugfix (combined) (NCAR#475) * add lsm_cold_start variable in GFS_typedefs.F90/meta and update ccpp/physics for testing * includes @SMoorthi-emc 's bugfix for gwdps.f. * add lon info in the write group (NCAR#476) * Multiple output grids (NCAR#480) Update fv3 cap and write grid component to enable outputting multiple domains. This is done be creating an array of fcstGrids, and array of rout handles where each element of these arrays correspond to one atm domain. In the write grid component updates were made to allow grid spec parameters for each output grid to be specified separately. Co-authored-by: Gerhard Theurich <[email protected]> * GPU-enabled version of Grell-Freitas convection in ccpp-physics (NCAR#479) * Enable Thompson MP when coupling with UFS-Aerosols (NCAR#484) * Add support for Stochastically Perturbed Parameterizations (SPP) in FV3 and add the FV3_RRFS_v1alpha SDF. (NCAR#454) Adds the necessary code in fv3atm to allow for Stochastically Perturbed Parameterizations (SPP) in a set of RAP/HRRR-based physics parameterizations. Specific to the fv3atm repository, code in this PR defines the necessary variables associated with various SPP-related fields (e.g., logical to activate SPP, parameterization-specific SPP variables, etc.) that are then passed to ccpp-physics. * lateral boundary fix for regional runs (NCAR#482) * Updating pointer to ccpp/physics. * Point to Christina's branches. * Point to NOAA-GSL gsl/develop for ccpp/physics Co-authored-by: Samuel Trahan (NOAA contractor) <[email protected]> Co-authored-by: Dusan Jovic <[email protected]> Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Grant Firl <[email protected]> Co-authored-by: mzhangw <[email protected]> Co-authored-by: WenMeng-NOAA <[email protected]> Co-authored-by: Denise Worthen <[email protected]> Co-authored-by: SMoorthi-emc <[email protected]> Co-authored-by: ChunxiZhang-NOAA <[email protected]> Co-authored-by: Jun Wang <[email protected]> Co-authored-by: Ted Mansell <[email protected]> Co-authored-by: Jeff Whitaker <[email protected]> Co-authored-by: Gerhard Theurich <[email protected]> Co-authored-by: DomHeinzeller <[email protected]> Co-authored-by: Raffaele Montuoro <[email protected]> Co-authored-by: JeffBeck-NOAA <[email protected]> Co-authored-by: MatthewPyle-NOAA <[email protected]> Co-authored-by: samuel.trahan <[email protected]>
* Feature/ccpp codeowners (NCAR#442) * Per-file CODEOWNERS in ccpp/physics to set up automatic review requests * Code cleanup. Remove used code/variables. Fix minor inconsistencies. (NCAR#440) * Remove ESMF Alarm and TimeInterval variables from module_fv3_config. * Variables nfhmax, nfhmax_hf are unused outside InitializeAdvertise. Declared them as local variables. * There is no need to keep duplicates of all time related variables in atm_int_state when we can easily access them from atm_int_state%Atm. * Remove redundant call to fms_init * Add few missing ESMF_LogFoundError checks in module_fcst_grid_comp.F90 * Delete time_utils.F90. Unused. * print only actual errors to stderr, everything else to stdout * Move realizeConnectedCplFields to module_cplfields from module_cap_cpl * Declare Atmos as module variable, and remove atmos_internalstate_wrapper * Move code from clock_cplIntval to InitializeAdvertise * Removed INTERNAL_FILE_NML from atmos_model.F90 * CCPP cloud cover change for Thompson MP associated with Xu Randall (NCAR#443) * Remove old comments from GFS_typedefs.F90. * Update logic that sets Model%cnvcld = .false. * Wrapper for ccpp-physics NCAR#806, NCAR#807, NCAR#813 (NCAR#447) * CCPP physics updates from PR NCAR#806(only diagnostic changes for RRTMGP - small diag-only RT impact for tests involving RRTMGP),NCAR#807 (only aborting model if sfc emis file not present when needed) ,NCAR#813(only SCM-specific physics changes) * Wrapper for ccpp-physics NCAR#808 and 816 (roughness length over ice and NoahMP tsurf bugfix) (NCAR#452) This PR contains the ccpp physics PR NCAR#808 and NCAR#816. 808 addresses an error in the momentum roughness length over tiles with ice. 816 fixes an occasional segfault bug related to the tsurf variable in NoahMP and updates to "improve snow simulation in NoahMP for P8". * Use 'model set run clock' routine in FV3 NUOPC cap. (NCAR#450) * Add 'SetRunClock' specialization routine to FV3 NUOPC cap, which sets fv3 model clock. FV3 cap does not keep local copy of clock (clock_fv3) as saved module variable anymore. * Minor code cleanup. * Clean up iovr=4 (exponential cloud overlapping method) in RRTMG (NCAR#445) Clean up the exponential cloud overlapping method in RRTMG, which reflects the practice of the pre-2018 operational HWRF model. * Bug fix for dimensions of eta level variables and WAM variables in Fortran code and CCPP metadata (NCAR#431) * Add additional diagnostic arrays for radiation-microphysics development * Bug fixes for WAM model runs with levr < levs * Update inline post with latest UPP release upp_v10.0.11 (NCAR#449) * Update UPP revision * Add foundation temperaure in GFS read interface for inline post. * Wrapper for ccpp-physics NCAR#812 (NCAR#453) * update submodule pointer for regression testing of ccpp-physics#812 * MYNN sfclay (RAP suite) restart reproducibility, P8 suite definition files (NCAR#455) * Fix uninitialized variable zmtnblck in ccpp/data/GFS_typedefs.F90 * Fix typo in CCPP standard name for ncnvwind in ccpp/data/GFS_typedefs.meta * Add ten 2d variables required for MYNNSFC restart reproducibility to ccpp/driver/GFS_restart.F90 * create initial p8 suites, P8 initial SDFs as copies of FV3_GFS_v16_coupled_nsstNoahmpUGWPv1 and FV3_GFS_v16_nsstNoahmpUGWPv1 Co-authored-by: Denise Worthen <[email protected]> * Fixes on initializing snow depth over ice and changes z0ice (NCAR#461) * modify FV3GFS_io.F90 by fixing errors associated with initializing snow depth over ice in the case where both land and water coexist (i.e. fractional grid case) * z0ice is changed to 1.0 cm from 1.1cm in atmos_model.F90 * Radar-derived microphysics temperature tendencies similar to operational HRRR (NCAR#457) - implements a feature of the operational HRRR, radar-derived microphysics temperature tendencies applied in the first N minutes of the forecast to improve clouds in the first few hours. * HRRR-like radar-derived temperature tendencies * Give a warning when convection is enabled with radar tten * Fix uninitialized variable zmtnblck in ccpp/data/GFS_typedefs.F90 * Add ten 2d variables required for MYNNSFC restart reproducibility to ccpp/driver/GFS_restart.F90 * fixing snod bug in atmos_model.F90 (NCAR#465) * Thompson MP cloud tuning (NCAR#463) * Improve cloud fraction when using Thompson MP. See NCAR#809 for more details. * Feature/hwrf legacy (NCAR#459) * Added a new suite definition file: suite_FV3_HAFS_v0_thompson_tedmf_gfdlsf.xml. This SDF is a legacy hwrf SDF but only the GFDL surface layer scheme and the Thompson scheme are kept. * CCPP: Update consistency checks and effective radii calculation for Thompson MP (NCAR#462) * This PR updates the submodule pointer for ccpp-physics for the changes described in NCAR#786 (Update consistency checks and effective radii calculation for Thompson MP) * Unified write_netcdf, add single file 'cubed_sphere_grid' output (NCAR#466) * Unify write_netcdf and write_netcdf_parallel modules. * Add support for writing 'cubed_sphere_grid' history files in a single netcdf file * Code refactoring and cleanup. * Change standard name and unit of CCPP error flag variable in CCPP framework and physics (NCAR#467) *Change standard name and unit of CCPP error flag variable in CCPP framework and physics. * Add code to enable ESMF managed threading (NCAR#469) * Implement ESMF-managed-threading for fcstComp and wrtComp's. * Revisions to repair iovr=5 cloud overlap option (NCAR#471) *This PR addresses part 2 of CCPP issue NCAR#748 to activate the exponential-random cloud overlap method (iovr=5) in RRTMG. * Add 2d decomposition on the write grid comp (NCAR#470) * update write grid comp to have 2D decomposition on output grid. * combine PR#468: Bug fix in FV3GFS_io.F90 for allocation of temp2d Co-authored-by: Ted Mansell <[email protected]> * 4DIAU bug when iau_filter_increments=T (NCAR#458) * Add lsm_cold_start variable for RUC LSM SCM support and gwdps bugfix (combined) (NCAR#475) * add lsm_cold_start variable in GFS_typedefs.F90/meta and update ccpp/physics for testing * includes @SMoorthi-emc 's bugfix for gwdps.f. * add lon info in the write group (NCAR#476) * Multiple output grids (NCAR#480) Update fv3 cap and write grid component to enable outputting multiple domains. This is done be creating an array of fcstGrids, and array of rout handles where each element of these arrays correspond to one atm domain. In the write grid component updates were made to allow grid spec parameters for each output grid to be specified separately. Co-authored-by: Gerhard Theurich <[email protected]> * GPU-enabled version of Grell-Freitas convection in ccpp-physics (NCAR#479) * Enable Thompson MP when coupling with UFS-Aerosols (NCAR#484) * Add support for Stochastically Perturbed Parameterizations (SPP) in FV3 and add the FV3_RRFS_v1alpha SDF. (NCAR#454) Adds the necessary code in fv3atm to allow for Stochastically Perturbed Parameterizations (SPP) in a set of RAP/HRRR-based physics parameterizations. Specific to the fv3atm repository, code in this PR defines the necessary variables associated with various SPP-related fields (e.g., logical to activate SPP, parameterization-specific SPP variables, etc.) that are then passed to ccpp-physics. * lateral boundary fix for regional runs (NCAR#482) * Feature: NSSL Microphysics support (NCAR#472) Supports CCPP with new NSSL microphysics scheme, which has separate hydrometeor categories for graupel and hail (Mansell et al. 2010, JAS). This PR allows fv3atm to compile correctly with CCPP+NSSL, but a further update to atmos_cubed_sphere is needed to run correctly. The NSSL scheme is used in NSSL's daily FV3 convection-allowing forecasts, and the scheme itself is aimed at this scale (dx <= 4km). Testing is underway also with a preliminary Warn-on-Forecast FV3 ensemble. * Add p8b SDF (NCAR#491) * add p8 suite files * fix 2phases intermediate restart Co-authored-by: Raffaele Montuoro <[email protected]> Co-authored-by: Jun Wang <[email protected]> * Split CCPP finalize into physics_finalize and (framework) finalize; minor CCPP cleanup and documentation updates (NCAR#487) * Minor cleanup and documentation updates for CCPP; split CCPP finalize into physics_finalize and (framework) finalize * Add 'valid time' variable using ISO string format (NCAR#492) Add 'valid time' variable using ISO string format to netcdf history files. Use double precision variable to set value of 'time' attribute in wrt comp import state Update ccpp/physics (setting surface-related interstitial variables for SCM prescribed-surface-flux mode) Update inline_post_stub.F90 subroutine interfaces to match inline_post.F90 Co-authored-by: Ted Mansell <[email protected]> Co-authored-by: Grant Firl <[email protected]> * Fix Lambert Conformal Conic mapping in the write component on the southern hemisphere (NCAR#497) Subroutine `lambert` in the write component has been fixed to do the mapping on the southern hemisphere correctly. * Rectify total number of Thompson MP species for PBL mixing (NCAR#509) * update upp revision (NCAR#505) * move some parameters in mynn surface layer to namelist options * land surface upgrades for p8c (NCAR#499) * Added capability for cdmbgwd(1) to scale GSL blocking drag (NCAR#502) * release/p8c: it is related to ccpp-physics PBL and cumulus updates plus a bug fix to the Thompson scheme PR NCAR#882 (NCAR#503) * change ccpp-physics branch to feature/p8c_pbl_cp branch * change ccpp/physics in feature/p8c_pbl_cp branch * revised GFS_typedefs.F90 for the paramters in the saSAS scheme * sync upp * Revert "sync upp" This reverts commit 429d0469c92d200fa058aca6c6bd17adac7f9568. * sync upp to 0185bb9 * Merge remote-tracking branch remote/main for ccpp-physics and update .gitmodules * Bring AQM model into UFS (NCAR#511) * Reset to zero coupling arrays for accumulated snow, large scale rain, and convective rain at the end of each coupling step if coupling with chemistry model. * Properly set kind type of literal constants defining zero and one. * Initialize to zero canopy resistance output variablein noah/osu land-surface model subdriver. * Re-implement radiation diagnostic output involving spectral band layer cloud optical depths (0.55 and 10 mu channels) to prevent floating invalid errors due to uninitialized optical depth arrays. * Temporarily disable filling export fields during the NUOPC Realize phase since it breaks coupling with aerosol component. * Increase maximum number of input aerosol scavenging factors to accommodate AQM/CMAQ 5.2.1 chemical tracers. * Remove inst_pres_height_surface from chemistryFieldNames as its imported already elsewhere Co-authored-by: Raffaele Montuoro <[email protected]> * RRTMGP for prototype 8 (NCAR#498) * Add explict treatment of convective cloud to RRTMGP. * Some cleanup and bug fixes from previous commit. working now with Thompson MP plus radiatively active convective cloud. * Updated physics. New interstitials. * Added explicit MYNN-EDMF cloud coupling to RRTMGP. * Added switches for sgs clouds in GP. * Replaced cld_mynn_ naming convention with cld_pbl_ * Fixed inconsistency between G/GP in Thompson MP. * Some more cleanup of cloud-fraction... * Pulled in Qingfu's changes to ccpp-physics * Synced physics with main * Updated physics. * Revert change from previous commits (sampling of different cloud types). New SDFs for p8c * Changed arguments to implied shape. * Renamed scheme file in SDF. Now common to both RRTMG and RRTMGP SDFs * Syntax error in ccpp-physics * Revert changes to names * Renamed p8_rrtmgp SDFs * Added bounding to temperature at layer-interface used by RRTMGP. * Reorder loop * Combined gp sw and lw aerosol routines. Modest speedup (~4%) * HAFS related moving-nesting, nest coupling, and movable output grid capabilities (NCAR#501) * Add the storm-following or specified moving-nesting capability for both the regional and global configuration. * Expand the UFS/HAFS FV3ATM-HYCOM ocean coupling to support the static and moving nesting configuration. * Expand the write grid component to support outputting the moving nest domain properly. * Five HAFS related moving-nesting regression tests are added to test these newly added features. The regional_hafs RT was removed. Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Grant Firl <[email protected]> Co-authored-by: Daniel Rosen <[email protected]> Co-authored-by: man.zhang <[email protected]> Co-authored-by: William Ramstrom <[email protected]> Co-authored-by: Ufuk Turuncoglu <[email protected]> Co-authored-by: Dusan Jovic <[email protected]> Co-authored-by: A-Kyle <[email protected]> Co-authored-by: Gerhard Theurich <[email protected]> Co-authored-by: Dusan Jovic <[email protected]> * Split GFS_typedefs.F90, rename CCPP_interstitial, import ccpp_t from ccpp_types (NCAR#508) * Split GFS_typedefs.F90: move GFS_interstitial_type to CCPP_typedefs.F90; Rename CCPP_interstitial to GFDL_interstitial; Import ccpp_t from ccpp_types instead of ccpp_api * Add bugfix in ccpp/data/GFS_typedefs.meta: mark input_nml_file as active only if the number of lines in the file is greater than zero * Fix uninitialized min_rand variable in Thompson MP when using SPP (NCAR#516) * Pass SPP namelist entries outside of stochastic physics routines. * Fixes to SPP metadata * Add active attribute to spp_prt_list * Add active metadata flag to spp_stddev_cutoff * Add active metadata flag for spp_var_list * A bug fix for wet scavenging of aerosols and a minor modification for moisture property calculation (NCAR#520) * Update ccpp_prebuild_config.py for one-to-one CCPP physics schemes/files (NCAR#519) * point to gsl/merge-develop branch * Point to gsl/merge-develop-to-community branch for ccpp/physics * Corrections to merge + joe updates * Point .gitmodules to Sam's fork * Correct issues found by reviewers * Rename mynnpbl to mynnedmf * Remove some empty _init and _finalize routines and update a comment in sgscloud_radpre * Feature/lndp noahmp2 : add land perturbation scheme for Noah-MP fractional veg (NCAR#513) Updates to allow land perturbation scheme to be applied for Noah-MP. Main code changes: -added lsm_noahmp model option to lndp_type==2 land perturbation scheme (fv3-atm, stochastic_physics) -updated comments -cleaned up the namelists to make the different options clearer. Removed misleading lndp_each_step variable from gfs_physics_nml, and replaced it with "lndp_model_type" in the nam_sfcperts namelist for the different forecast types (cycling DA, short forecasts, perturbing only initial conditions) (fv3-atm, stochastic_physics, ufs-weather-model) NOTE: see note below, re: specification of smc perturbation for RAP/HRRR/etc (lndp_model_type==2) -revised code in stochastic_physics_wrapper to only allocate arrays that will be used when passed into lndp_apply_perts (fv3-atm) -deleted unused albedo arrays in stochastic_physics_wrapper and lndp_apply_perts (fv3-atm, stochastic_physics) -fixed bug causing precision errors when calculating the soil moisture ice content (often ~0.0; stochastic_physics) -fixed bug in which lndp_apply_perts wasn't called for nscyc = 0. (fv3-atm) -increased max_nvar_lndp at Jeff Ator's request (fv3-atm) -added a new test for the Noah-MP and lndp==2 combination (ufs-weather-model) * Add \file to smoke files * Add hailcast code in atmos_cubed_sphere (NCAR#528) * Combine PROD and REPRO build options into 'Release' build type (NCAR#524) Combined PROD and REPRO build modes into 'Release' build type. Now only 'Debug' and 'Release' build type are supported. Both build types must produce bit-for-bit reproducible outputs using different number of threads, mpi tasks, different domain decomposition, have reproducible restarts etc. * Unify inline post (NCAR#521) * Unify global and regional inline posts and add bug fix for dx/dy computation. * Update upp revision to dc8bc68 * Set up different configurations of read max/min 2m T for global and regional FV3. * adding bug fix from jili dong and removing U* averaging * adding bug fix from jili dong and removing U* averaging * Remove some commented-out code from cu_gf_driver in ccpp-physics. * Turn rrtmg smoke band 10 into a model namelist variable * Switch ccpp-physics smoke arguments to implied shape * Remove some stops and gotos from ccpp-physics smoke * Remove some hard-coded constants and rename some meta entries * Change RRTMGP to RRTMG in two P8 SDFs (NCAR#527) * Change RRTMGP to RRTMG in suite_FV3_GFS_v17_p8 and suite_FV3_GFS_v17_coupled_p8 * deleted or modified some SDFs related to RRTMGP or Thompson schemes * added a new SDF file for P8 with rrtmgp * Rename some standard_names, change a unit, and remove a "use physcons" * NSSL ccpp-physics bugfixes and new ccpp-framework debugging feature (NCAR#529) * Set num3d correctly when using radar_tten * Only add cnv_3d_ud_mf to the restart files when needed * Pass some chemistry varibles to mynn_bl_driver correctly * Correct argument passing within mynn edmf * point to NCAR main ccpp/physics * merge gsl institutional fork (NCAR#526) Merge in GSL institutional fork * point to sam's repo * ccpp/physics: Change to GSL CODEOWNERS * Returned the comments on soil resistance back. * point to gsl/develop for ccpp/physics Co-authored-by: Dusan Jovic <[email protected]> Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Grant Firl <[email protected]> Co-authored-by: mzhangw <[email protected]> Co-authored-by: WenMeng-NOAA <[email protected]> Co-authored-by: Denise Worthen <[email protected]> Co-authored-by: SMoorthi-emc <[email protected]> Co-authored-by: ChunxiZhang-NOAA <[email protected]> Co-authored-by: Jun Wang <[email protected]> Co-authored-by: Ted Mansell <[email protected]> Co-authored-by: Jeff Whitaker <[email protected]> Co-authored-by: Gerhard Theurich <[email protected]> Co-authored-by: DomHeinzeller <[email protected]> Co-authored-by: Raffaele Montuoro <[email protected]> Co-authored-by: JeffBeck-NOAA <[email protected]> Co-authored-by: MatthewPyle-NOAA <[email protected]> Co-authored-by: Ted Mansell <[email protected]> Co-authored-by: Jessica Meixner <[email protected]> Co-authored-by: Jun Wang <[email protected]> Co-authored-by: joeolson42 <[email protected]> Co-authored-by: HelinWei-NOAA <[email protected]> Co-authored-by: mdtoyNOAA <[email protected]> Co-authored-by: Brian Curtis <[email protected]> Co-authored-by: dustinswales <[email protected]> Co-authored-by: Bin Liu <[email protected]> Co-authored-by: Dom Heinzeller <[email protected]> Co-authored-by: Grant Firl <[email protected]> Co-authored-by: Daniel Rosen <[email protected]> Co-authored-by: man.zhang <[email protected]> Co-authored-by: William Ramstrom <[email protected]> Co-authored-by: Ufuk Turuncoglu <[email protected]> Co-authored-by: Dusan Jovic <[email protected]> Co-authored-by: A-Kyle <[email protected]> Co-authored-by: ClaraDraper-NOAA <[email protected]> Co-authored-by: BinLi-NOAA <[email protected]>
…(combined) (NCAR#475) * add lsm_cold_start variable in GFS_typedefs.F90/meta and update ccpp/physics for testing * includes @SMoorthi-emc 's bugfix for gwdps.f.
When ice flux is huge (undefined) in the 1st time step cold run, use PBL-calculated ice fluxes instead. This will change results in the coupled model only. Passed regression tests for standalone FV3.
This refers to issue #472.