[Ncep.list.emc.monsoondesk] Fwd: Why Climatological Sea-Ice fraction send to GFS, but not the one computed by MOM-SIS

Xingren Wu xingren.wu at noaa.gov
Wed Feb 19 16:21:38 UTC 2014


Hi Prajeesh,

Since I was not on the original email_list I am not sure if someone has 
provide an answer.

You are right!

In the case you provided:

*!  call mpp_send(fice_atm,size(fice_atm,1)*size(fice_atm,2), 
Atmos%coupler_rank)*
*  call mpp_send(Atmos%fice,size(fice_atm,1)*size(fice_atm,2), 
Atmos%coupler_rank)*
*This means the Sea-Ice fraction which is being sent to GFS is actually 
the climatological values not the computed Sea-Ice fraction.

*Regarding your question: *"Can someone please clarify why 
climatological Sea-Ice fraction is send to the atmospheric model in 
place of the computed ones??",* there might be different answers, 
depending on the purpose, my guess includes (but not limited to, in any 
case it is a smart idea):

To test data_override
To test the climatology file
To test the coupler
To carry out an experiment with CFSv2 using climatological sea ice in 
the GFS
......

In order to use the computed Sea-Ice fraction in your code, switch the 
two lines, i.e., one *should use*:
*********call mpp_send(fice_atm,size(fice_atm,1)*size(fice_atm,2), 
Atmos%coupler_rank)***

but *not*
*  call mpp_send(Atmos%fice,size(fice_atm,1)*size(fice_atm,2), 
Atmos%coupler_rank)*

Best regards,
Xingren Wu

On 2/17/2014 6:45 AM, Shrinivas Moorthi - NOAA Federal wrote:
> Xingren,
>     You may want to answer this.
> Moorthi
>
> ---------- Forwarded message ----------
> From: *Prajeesh A.G CAT* <prajeesh.cat at tropmet.res.in 
> <mailto:prajeesh.cat at tropmet.res.in>>
> Date: Mon, Feb 17, 2014 at 4:58 AM
> Subject: Why Climatological Sea-Ice fraction send to GFS, but not the 
> one computed by MOM-SIS
> To: monsoon.desk at tropmet.res.in <mailto:monsoon.desk at tropmet.res.in>
>
>
>
> In the subroutine flux_up_to_atmos in flux_exchange.F90 of mom4, the 
> following code sends the SST, fice_atm (Sea-Ice fraction), hice_atm 
> (Sea-Ice depth) and hsno_atm (snow depth) to coupler and which is then 
> send to GFS as boundary conditions.
>
> *!!--> cpl insertion
>   Ice%fice = 1.
>   Ice%fice(:,:,1)=0.
>   Ice%hice_top(:,:,2:kice6)=Ice%h_ice(:,:,2:kice6)
>   Ice%hsno_top(:,:,2:kice6)=Ice%h_snow(:,:,2:kice6)
>   call put_to_xgrid (Ice%fice, 'OCN', ex_fice, xmap_sfc)
>   call put_to_xgrid (Land%fice, 'LND', ex_fice, xmap_sfc)
>   call put_to_xgrid (Ice%hice_top, 'OCN', ex_hice, xmap_sfc)
>   call put_to_xgrid (Land%hice, 'LND', ex_hice, xmap_sfc)
>   call put_to_xgrid (Ice%hsno_top, 'OCN', ex_hsno, xmap_sfc)
>   call put_to_xgrid (Land%hsno, 'LND', ex_hsno, xmap_sfc)
>   call put_to_xgrid (Ice%t_surf, 'OCN', ex_tsurf, xmap_sfc)
>   call put_to_xgrid (Land%t_sst, 'LND', ex_tsurf, xmap_sfc)
> !
>   call get_from_xgrid (fice_atm, 'ATM', ex_fice, xmap_sfc)
>   call get_from_xgrid (hice_atm, 'ATM', ex_hice, xmap_sfc)
>   call get_from_xgrid (hsno_atm, 'ATM', ex_hsno, xmap_sfc)
>   call get_from_xgrid (tsurf_atm, 'ATM', ex_tsurf, xmap_sfc)
> tsurf_atm_clim=Atmos%c_sst
> !
> !mpi send
>   call mpp_set_current_pelist(pesetnum=worldpeset, no_sync=no_sync)
>   call mpp_send(tsurf_atm,size(tsurf_atm,1)*size(tsurf_atm,2), 
> Atmos%coupler_rank)
>   call 
> mpp_send(tsurf_atm_clim,size(tsurf_atm_clim,1)*size(tsurf_atm_clim,2), 
> Atmos%coupler_rank)
> !  call mpp_send(fice_atm,size(fice_atm,1)*size(fice_atm,2), 
> Atmos%coupler_rank)
>   call mpp_send(Atmos%fice,size(fice_atm,1)*size(fice_atm,2), 
> Atmos%coupler_rank)
>   call mpp_send(hice_atm,size(hice_atm,1)*size(hice_atm,2), 
> Atmos%coupler_rank)
>   call mpp_send(hsno_atm,size(hsno_atm,1)*size(hsno_atm,2), 
> Atmos%coupler_rank)
>   if (cice) call 
> mpp_send(Atmos%cice,size(Atmos%cice,1)*size(Atmos%cice,2), 
> Atmos%coupler_rank)
>
>   call mpp_set_current_pelist(Atmos%pelist)
> !
> !!<-- cpl insertion
>
>
> *Here, fice_atm is mapped from the exchange grid variable ex_fice. 
> ex_fice gets data from Ice%fice and Land%fice. But we can see that 
> Ice%fice is initialized to 0 and 1 every time.
>
> Now, Land%fice gets updated in the previous subroutine 
> sfc_boundary_layer by these set of codes
>
> *call data_override ('ATM', 'fice', Atm%fice , Time)  ! line no: 953 
> of flux_exchange.F90
> call put_to_xgrid (Atm%fice , 'ATM', ex_fice , xmap_sfc)  ! line no: 993
> call get_from_xgrid (Land%fice, 'LND', ex_fice, xmap_sfc) !line no: 1000
> *
> The data_override call is for overriding the data with specified 
> values (Read from file or a constant, check data_table file of mom4).
>
> That means the Sea-Ice fraction which is being send to GFS is actually 
> the climatological values not the computed Sea-Ice fraction.*
>
> Can someone please clarify why climatological Sea-Ice fraction is send 
> to the atmospheric model in place of the computed ones??*
>
> Thanks...
>
> Prajeesh A G
> Scientist 'B'
> CCCR, IITM
> Pune, India
>
>
>
>
>
> -- 
> Dr. Shrinivas Moorthi
> Research Meteorologist
> Global Climate and Weather Modeling 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: Shrinivas.Moorthi at noaa.gov <mailto:Shrinivas.Moorthi at noaa.gov>
> Phone:  (301) 683-3718   Fax: (301) 683-3718

-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lstsrv.ncep.noaa.gov/pipermail/ncep.list.emc.monsoondesk/attachments/20140219/f590d57a/attachment-0001.html 


More information about the Ncep.list.emc.monsoondesk mailing list