code: def forward(self, pred, gold, raw, col_names):
      # Remove bad input
      cond1 = raw[:, :, :, col_names["Patv"]] < 0
  
      cond2 = raw[:, :, :, col_names["Pab1"]] > 89
      cond2 = paddle.logical_or(
          cond2, raw[:, :, :, col_names["Pab2"]] > 89
      )
      cond2 = paddle.logical_or(
          cond2, raw[:, :, :, col_names["Pab3"]] > 89
      )
  
      cond2 = paddle.logical_or(
          cond2, raw[:, :, :, col_names["Wdir"]] < -180
      )
      cond2 = paddle.logical_or(
          cond2, raw[:, :, :, col_names["Wdir"]] > 180
      )
      cond2 = paddle.logical_or(
          cond2, raw[:, :, :, col_names["Ndir"]] < -720
      )
      cond2 = paddle.logical_or(
          cond2, raw[:, :, :, col_names["Ndir"]] > 720
      )
      cond2 = paddle.logical_or(cond2, cond1)
  
      cond3 = raw[:, :, :, col_names["Patv"]] == 0
      cond3 = paddle.logical_and(
          cond3, raw[:, :, :, col_names["Wspd"]] > 2.5
      )
      cond3 = paddle.logical_or(cond3, cond2)
  
      cond = paddle.logical_not(cond3)
      cond = paddle.cast(cond, "float32")
  
      return paddle.mean(
          F.mse_loss(pred, gold, reduction="none") * cond
      )
  
imports: import os
  import paddle
  import paddle.nn
  import paddle.nn.functional
  import numpy
label_desc: Use image node_id 2 for calling the FilterMSELoss obj's underlying member method code with example usage: obj.forward(pred, gold, raw, col_names) and returns: paddle