Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

SST Bias Underneath Sea Ice

CalvinC

New member
Hello MPAS-A Forum! This is my first time posting here so apologies if I forget to include some crucial information.

I am attempting to use MPAS-A (uniform 60km resolution mesh) to replay some Arctic cold air intrusions and warm air outbreaks, and I am investigating how long MPAS-A stays faithful to the ERA5 reanalysis conditions. I noticed that both the 2 Meter Temperature and the Skin Temperature are initialized at reasonable values, and then become very cold very quickly. I investigated the sea surface temperature, and found that, despite using initial conditions and update files with MPAS, the SST beneath the sea ice is not being initialized correctly or being updated.

I have attached two plots. The first is an Arctic area weighted average of skin temperature and SST of an MPAS-A run initialized on January 20th, 2013. It shows that the skin temperature is initialized at a reasonable value and then becomes much colder in MPAS than ERA5, and it shows that the MPAS SST starts well below the ERA5 initial conditions. The second plot is a map of SSTs at the first model timestep (January 20th, 2013, 00h), in ERA5, and MPAS-A (uniform 60km resolution), as well as their anomaly. I have plotted the 15% sea ice concentration contour. This shows that the MPAS-A cold bias only occurs underneath the sea-ice.

I would appreciate any tips on why this is happening! Is there a way to have a skin temperature update file to periodically push the MPAS-A skin temp back to ERA5 values, like how we update SST and sea ice concentrations? On maybe a more concerning note, why are the SSTs beneath the sea-ice edge not being initialized at the ERA5 values? Have I set something incorrectly in my namelists?

Namelist and streams files have been attached as well.
I look forward to hearing from you all!
 

Attachments

  • area_avg.pdf
    17.4 KB · Views: 3
  • era5_MPAS_comp_2013-01-20T00.png
    era5_MPAS_comp_2013-01-20T00.png
    144.7 KB · Views: 4
  • namelist.atmosphere.txt
    2 KB · Views: 2
  • streams.atmosphere.txt
    4.7 KB · Views: 2
Hi,

I apologize for answering so late. There are many posts pouring in every day, and somehow this post was skipped and I just found that it was never answered.

Thanks a lot for the detailed description of the SST issue. In your 2nd plot, the SST anomaly is the difference between MPAS and ERA at the first time step, is this correct?

Would you please plot SST difference between MPAS initial condition and ERA5? It seems that SST in MPAS is much lower at the right beginning. I would like to make sure whether it is derived from the process of initialization.

Also, please let me me which version of MPAS you are using. Thanks.
 
Last edited:
Hi Ming Chen!

No worries about your reply time, I appreciate the help!

It is correct that the plot I sent before is from the first time step. I have made a new plot (attached here) of the ERA5 SST from the time of the start of the run, and the SST from the MPAS init file (x1.163842.init.nc). I used the ERA5 file to generate my initial conditions, so it seems that something is going wrong with the generation of initial conditions. Do you have any tips on how I could diagnose this issue?

I am using MPAS-v8.3.1 on the Narval HPC, based out of Montreal.

Thank you so much!
Calvin
 

Attachments

  • initial_conditions.png
    initial_conditions.png
    144.9 KB · Views: 2
Hi Calvin,

Thank you for the plots of the initial SST. I do 't have an immediate explanation why SST in MPAS initialization is so severely deviated from ERA5. I will look into this issue and get back to you.

Since your case is a region MPAS case, would you please send me your regional domain information (i.e. points.txt you used to create the regional mesh).

I suppose that you didn't run grid_rotate to relocate any refinement. Please let me know if I am wrong.

Thanks.
 
Hi Ming,

I should clarify, this is not a regional MPAS case, I am simulating the entire globe but I am only plotting the Arctic as this is my area of interest (and where I noticed the SST discrepancy). I did not relocate any refinement because this is a uniform 60km grid.

Other details: I used the era5_to_int.py tool to convert my era5 data to initial conditions, and I am using the convert_mpas tool to interpolate my MPAS data to lat/lon coordinates for plotting purposes.

If there are any other files (logs, initial conditions, etc) that you need from me, please let me know and I can provide them!

Thank you for looking in to this.
Calvin
 
Calvin,

Thank you for the clarification. I will look into this issue and get back to you once I know for sure what is wrong. It may take some time partly because I exceeded the threshold of HPC usage and cannot submit job at present. Thank you for your patience.

Ming
 
Hi Calvin,

I found the reason why SST in MPAS initial data is different to that in ERA5. This is because MPAS takes skintemp as SST during its initialization. Over Arctic Ocean in the winter, seaice covers most of the ocean areas and these ice-covered areas are treated as 'land' area. Thereby, SST over these areas are replaced by SKINTEMP and Noah subsequently uses skintemp for land physics calculation.

I attach ERA5 SKINTEMP (upper) and ERA5 SST (lower) over the Arctic region for your reference. Please let me know if you have any questions regarding this issue.

1772760439772.png1772760451636.png
 
Hi Ming!

I really appreciate you looking in to this. I had noticed there was something interesting going on with skintemp over sea ice in the initialization code, but I'm glad you were able to put your finger on it.

However, I do have a follow up question. I checked out how the skintemp in MPAS compares to that of ERA5, and I found that while it is initialized correctly, the skintemp in MPAS immediately becomes very cold compared to ERA5, and this bias remains for the entirety of the simulation. This also occurs in a separate simulation I performed for a different 20 day period in 2016.

To illustrate this, I have re-attached the area averaged plot I made that includes both skintemp and sst from my first post. Skintemp is the left panel, and as you can see it is biased cold in MPAS as compared to ERA5 from nearly the beginning of the simulation.

As a further investigation, I have made spatial comparison plots of the skintemp in MPAS and ERA5 at several timesteps from this simulation. I have attached them here. The simulation begins January 20th of 2013 at midnight, and this initialization timestep can be seen in the file skintemp_comp_init.png. As you can see, the skintemp is initialized correctly, as you have pointed out. However, even three hours after initialization (as can be seen in the file skintemp_comp_3h.png) the MPAS skintemp is already biased cold compared to ERA5. This bias persists for the rest of the simulation (as can be seen in the file skintemp_comp_96h.png and the area_avg.pdf plot).

Interestingly enough, this bias is also only over the sea-ice, so I can only assume something is going on with the way skintemp is treated above sea-ice during the simulation. If sea-ice is treated as land for MPAS as you said above, could this contribute to the negative bias as compared to ERA5? Is there potentially any way to repair this bias? Could I periodically update the skintemp, similar to how we can periodically update the SST and sea-ice fraction?

I worry about this bias as I would like to re-simulate events in MPAS as seen in ERA5, and the surface temperature is a necessary aspect of this re-simulation.

Thank you for your work on this so far, and I look forward to hearing from you!

Best,
Calvin
 

Attachments

  • area_avg.pdf
    17.4 KB · Views: 0
  • skintemp_comp_3h.png
    skintemp_comp_3h.png
    167.8 KB · Views: 0
  • skintemp_comp_96h.png
    skintemp_comp_96h.png
    167.6 KB · Views: 0
  • skintemp_comp_init.png
    skintemp_comp_init.png
    174 KB · Views: 0
Hi Calvin,

This issue seems more complicated and I am suspicious that something is wrong in the model physics.

To answer your question of periodically updating skintemp, we cannot do this because skintemp is part of Noah LSM physics and it is calculated every time step.

In your post of February 13, I notice that you set config_sst_update = false. For a 20-day simulation, it is better to turn on SST update.

I will look into this issue and get back to you once I know for sure what is wrong.

Ming
 
Top