{
  "id": 508272,
  "title": "Conservation laws",
  "url": "/competitions/leap-atmospheric-physics-ai-climsim/discussion/508272",
  "author_name": "Amedeo Biolatti",
  "post_date": "2024-05-29T00:05:20.147000",
  "votes": 14,
  "comment_count": 8,
  "views": 0,
  "content": "<p>I've been studying a bit conservation laws and the possibility of applying them to this competition. </p>\n<p>In particular I have been trying to apply the (approximate) water conservation law described in the ClimSim paper (look here for an example: <a href=\"https://github.com/leap-stc/ClimSim/blob/main/demo_notebooks/water_conservation.ipynb\" target=\"_blank\">https://github.com/leap-stc/ClimSim/blob/main/demo_notebooks/water_conservation.ipynb</a> ). My model seems to be capturing this law quite spontaneously. Here you can see the ground true \"error\" in the water conservation law for the gradients vs the results of my model</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F1782000%2F991bcfdf21ff7265ffddeac5d72769ae%2Fwater_conservation.png?generation=1716940963901946&amp;alt=media\"></p>\n<p>Do you have any other information to share about conservation laws or any other domain knowledge that could be applicable to this competition?</p>",
  "messages": [
    {
      "id": 2842186,
      "postDate": "2024-05-29T00:05:20.147Z",
      "content": "<p>I've been studying a bit conservation laws and the possibility of applying them to this competition. </p>\n<p>In particular I have been trying to apply the (approximate) water conservation law described in the ClimSim paper (look here for an example: <a href=\"https://github.com/leap-stc/ClimSim/blob/main/demo_notebooks/water_conservation.ipynb\" target=\"_blank\">https://github.com/leap-stc/ClimSim/blob/main/demo_notebooks/water_conservation.ipynb</a> ). My model seems to be capturing this law quite spontaneously. Here you can see the ground true \"error\" in the water conservation law for the gradients vs the results of my model</p>\n<p><img src=\"https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F1782000%2F991bcfdf21ff7265ffddeac5d72769ae%2Fwater_conservation.png?generation=1716940963901946&amp;alt=media\"></p>\n<p>Do you have any other information to share about conservation laws or any other domain knowledge that could be applicable to this competition?</p>",
      "rawMarkdown": "I've been studying a bit conservation laws and the possibility of applying them to this competition. \n\nIn particular I have been trying to apply the (approximate) water conservation law described in the ClimSim paper (look here for an example: https://github.com/leap-stc/ClimSim/blob/main/demo_notebooks/water_conservation.ipynb ). My model seems to be capturing this law quite spontaneously. Here you can see the ground true \"error\" in the water conservation law for the gradients vs the results of my model\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F1782000%2F991bcfdf21ff7265ffddeac5d72769ae%2Fwater_conservation.png?generation=1716940963901946&alt=media)\n\nDo you have any other information to share about conservation laws or any other domain knowledge that could be applicable to this competition?",
      "votes": 14
    },
    {
      "id": 2874011,
      "postDate": "2024-06-16T00:19:00.887Z",
      "content": "<p>Hi Amadeo, thanks again for the great post. So, to clarify, you did not enforce conservation in the model architecture/loss fn, but it is still captured by the model?</p>",
      "rawMarkdown": "Hi Amadeo, thanks again for the great post. So, to clarify, you did not enforce conservation in the model architecture/loss fn, but it is still captured by the model?",
      "replies": [
        {
          "id": 2874508,
          "postDate": "2024-06-16T10:32:14.323Z",
          "content": "<p>This model was a simple UNet and I did NOT: add new features, enforcee constraints on the output. Just a UNet with good training logic and no domain knowledge at all</p>",
          "rawMarkdown": "This model was a simple UNet and I did NOT: add new features, enforcee constraints on the output. Just a UNet with good training logic and no domain knowledge at all"
        }
      ]
    },
    {
      "id": 2868823,
      "postDate": "2024-06-12T16:47:18.040Z",
      "content": "<p>Thank you for your sharing! how could you get  the Ak and Bk constants?</p>",
      "rawMarkdown": "Thank you for your sharing! how could you get  the Ak and Bk constants?",
      "replies": [
        {
          "id": 2868979,
          "postDate": "2024-06-12T19:04:03.590Z",
          "content": "<p>There is the name of the file where Ak and Bk are located in the notebook I linked, search it on google and you should find it!</p>",
          "rawMarkdown": "There is the name of the file where Ak and Bk are located in the notebook I linked, search it on google and you should find it!"
        }
      ]
    },
    {
      "id": 2842525,
      "postDate": "2024-05-29T06:09:25.007Z",
      "content": "<p>I was also thinking of implementing some water conservation checks, but how did you manage the A and B components that come from the initial conditions file? Arent they position-dependent (latitude and longitude)? Or ar they only level-dependent?</p>",
      "rawMarkdown": "I was also thinking of implementing some water conservation checks, but how did you manage the A<sub>k</sub> and B<sub>k</sub> components that come from the initial conditions file? Arent they position-dependent (latitude and longitude)? Or ar they only level-dependent?",
      "replies": [
        {
          "id": 2842612,
          "postDate": "2024-05-29T07:21:44.740Z",
          "content": "<p>From my understanding they should be level-dependent only</p>",
          "rawMarkdown": "From my understanding they should be level-dependent only",
          "votes": 1,
          "replies": [
            {
              "id": 2842635,
              "postDate": "2024-05-29T07:38:16.063Z",
              "content": "<p>Thanks! I misunderstood it then, I will give it a try</p>",
              "rawMarkdown": "Thanks! I misunderstood it then, I will give it a try",
              "votes": 1
            },
            {
              "id": 2842698,
              "postDate": "2024-05-29T08:11:30.487Z",
              "content": "<p>Let me know if it works for you!</p>",
              "rawMarkdown": "Let me know if it works for you!"
            }
          ]
        }
      ]
    }
  ],
  "comments": [
    {
      "id": 2874011,
      "author_name": "Juan D C F",
      "author_url": "",
      "post_date": "2024-06-16T00:19:00.887000",
      "content": "<p>Hi Amadeo, thanks again for the great post. So, to clarify, you did not enforce conservation in the model architecture/loss fn, but it is still captured by the model?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2874508,
          "author_name": "Amedeo Biolatti",
          "author_url": "",
          "post_date": "2024-06-16T10:32:14.323000",
          "content": "<p>This model was a simple UNet and I did NOT: add new features, enforcee constraints on the output. Just a UNet with good training logic and no domain knowledge at all</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 2868823,
      "author_name": "masahiro takeya",
      "author_url": "",
      "post_date": "2024-06-12T16:47:18.040000",
      "content": "<p>Thank you for your sharing! how could you get  the Ak and Bk constants?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2868979,
          "author_name": "Amedeo Biolatti",
          "author_url": "",
          "post_date": "2024-06-12T19:04:03.590000",
          "content": "<p>There is the name of the file where Ak and Bk are located in the notebook I linked, search it on google and you should find it!</p>",
          "votes": 0,
          "replies": []
        }
      ]
    },
    {
      "id": 2842525,
      "author_name": "Federico Peccia",
      "author_url": "",
      "post_date": "2024-05-29T06:09:25.007000",
      "content": "<p>I was also thinking of implementing some water conservation checks, but how did you manage the A and B components that come from the initial conditions file? Arent they position-dependent (latitude and longitude)? Or ar they only level-dependent?</p>",
      "votes": 0,
      "replies": [
        {
          "id": 2842612,
          "author_name": "Amedeo Biolatti",
          "author_url": "",
          "post_date": "2024-05-29T07:21:44.740000",
          "content": "<p>From my understanding they should be level-dependent only</p>",
          "votes": 1,
          "replies": [
            {
              "id": 2842635,
              "author_name": "Federico Peccia",
              "author_url": "",
              "post_date": "2024-05-29T07:38:16.063000",
              "content": "<p>Thanks! I misunderstood it then, I will give it a try</p>",
              "votes": 1,
              "replies": []
            },
            {
              "id": 2842698,
              "author_name": "Amedeo Biolatti",
              "author_url": "",
              "post_date": "2024-05-29T08:11:30.487000",
              "content": "<p>Let me know if it works for you!</p>",
              "votes": 0,
              "replies": []
            }
          ]
        }
      ]
    }
  ],
  "raw_markdown_by_id": {
    "2842186": "I've been studying a bit conservation laws and the possibility of applying them to this competition. \n\nIn particular I have been trying to apply the (approximate) water conservation law described in the ClimSim paper (look here for an example: https://github.com/leap-stc/ClimSim/blob/main/demo_notebooks/water_conservation.ipynb ). My model seems to be capturing this law quite spontaneously. Here you can see the ground true \"error\" in the water conservation law for the gradients vs the results of my model\n\n![](https://www.googleapis.com/download/storage/v1/b/kaggle-forum-message-attachments/o/inbox%2F1782000%2F991bcfdf21ff7265ffddeac5d72769ae%2Fwater_conservation.png?generation=1716940963901946&alt=media)\n\nDo you have any other information to share about conservation laws or any other domain knowledge that could be applicable to this competition?",
    "2874011": "Hi Amadeo, thanks again for the great post. So, to clarify, you did not enforce conservation in the model architecture/loss fn, but it is still captured by the model?",
    "2868823": "Thank you for your sharing! how could you get  the Ak and Bk constants?",
    "2842525": "I was also thinking of implementing some water conservation checks, but how did you manage the A<sub>k</sub> and B<sub>k</sub> components that come from the initial conditions file? Arent they position-dependent (latitude and longitude)? Or ar they only level-dependent?"
  }
}